Vim 中的宏

操作在 VIM 中(甚至任何编辑器中)属于比较复杂的操作了,如果前面的内容都已经掌握了,那么你 已经可以算是一个 VIM 高手了,所以,这位高手,我们不妨再来进阶一下吧。

还记得 块操作 中把文本转成数组的例子吧,我们还做同样的事,不过这次是用宏来操作。

12gg 跳转到准备开始处理的起始行,按指示进行操作,先看效果后解释。

var myArray = [
按 qa 开启宏录制,前方高能,连续按 I<单引号><Esc>A<单引号><逗号><Esc>jq7@a
我也要
我也要
我也要
我也要
我也要
我也要
我也要
];

OMG! 发生了什么,有没有惊出一身冷汗,之前两次块操作的结果瞬间就完成了,最后再简单做些收尾工作, 去掉最后一行的逗号,集体缩进一下,搞定!

下面来解释一下刚才的操作:

  • q 是开启录制宏,a 是给这次宏的录制过程一个存储位置,可以是 0-9 或 a-z;
  • 然后 I<单引号><Esc>A<单引号><逗号><Esc>j 是你这次录制的整个宏的操作过程,意思就是行首 插入单引号,行尾插入单引号和逗号,跳到下一行;
  • 接下来的 q 是结束本次宏的录制;
  • @ 是唤起宏,a 是要唤起的宏的名字(存储位置),前面的 7 你应该明白吧,就是执行 7 次。

Tips:@@ 再次唤起最后一次执行的宏。

日常工作中频繁用到的和不怎么用得上的在这七章中应该都已经涉及到了,如果 VIM 中遇到了什么问题, 或者教程中遗漏了什么常规操作,欢迎在留言中提出来,我会尽我所能给予回答或完善到教程中。

下一节:虽然 Vim 已经提供了非常强大的功能,但如果有几款好用的插件辅佐,更能让你的工作事 半功倍。