Vim recording 入门

2017-03-22 13:47:43 +08:00
 raquant
上次小可发了个 vim 干货,真正见识到了 vim 版的强大,也认识到自己 vim 水平是多么的弱。
同时也感谢各位好朋友给我推荐的链接和书籍,我也在根据大家提供的东西在不断学习。
总之 vim 版友 opened my eyes ,让我知道世界之大,牛人之多!
鉴于上次收藏 vim 入门文章的网友也还挺多的,我又冒死发一下 recording 的练习笔记,希望对新手有帮助。

recording 是 vim 的一个强大功能。他可以录制一个宏( Macro),在开始记录后,会记录你所有的键盘输入,包括在 insert 模式下的输入、正常模式下使用的各种命令等。

具体使用:

第一步:在正常模式下(非 insert 模式、非 visual 模式)按下 q 键盘

第二步:选择 a-z 或 0-9 中任意一个作为缓冲器的名字,准备开始录制宏

第三步:正常的操作,此次所有的操作都会被记录在上一步中定义的缓冲器中

第四步:在非 insert 模式下输入 q 停止宏的录制

第五步:使用 @ + 第二步中定义的缓冲器的名字即可。

简单场景 1

下面的 System.out.println()都没有逗号,希望都给加上逗号。

当然也可以用替换命令啊,可惜本文的设定就是 recording ,我们就只用 recording 功能了。

System.out.println("xyz")

System.out.println("x")      System.out.println("xy")  System.out.println("xy")

System.out.println("xyz")

System.out.println("xyzw")  System.out.println("xyzw")

运行结果:

System.out.println("xyz");

System.out.println("x");      System.out.println("xy");  System.out.println("xy");

System.out.println("xyz");

System.out.println("xyzw");  System.out.println("xyzw");

简单场景 2

下面这样一个文本, 5 行单词 quant ,我想用 recording 在每一行后面和前面都插入一些字。

当然也可以用替换命令啊,可惜本文的设定就是 recording ,我们就只用 recording 功能了。

quant

quant

quant

quant

运行结果:

raquant.com 是一个用程序和大数据快速验证炒股理念的平台
raquant.com 是一个用程序和大数据快速验证炒股理念的平台
raquant.com 是一个用程序和大数据快速验证炒股理念的平台
raquant.com 是一个用程序和大数据快速验证炒股理念的平台
raquant.com 是一个用程序和大数据快速验证炒股理念的平台
2703 次点击
所在节点    Vim
2 条回复
gooin
2017-03-22 18:33:08 +08:00
年前刚从《 Vim 实用技巧》里边学到😂。
KentY
2017-04-12 18:53:46 +08:00
nesting(recursive) macro 有时候挺有用, 特别是不知道要 replay 多少次的时候.
还有直接 @='.......'<cr> 也是 vimgolf 时候的常用伎俩...

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/349440

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX