Learn VIM
  • Vim Hands-On Tutorial (Learning Vi and Vims)
  • Vim Hands-On Tutorial(Learning Vim)
    • Chapter 1: Cursor Movement
    • Chapter 2: Opening Files, Finding Content
    • Chapter 3: Modifying and Saving Files
    • Chapter 4: Some Tips
    • Chapter 5: Splitting Windows and Tabs
    • Chapter 6: Block Operations
    • Chapter 7: Vim Macros
    • Vim Modes
    • Vim Plugins
    • plugins
      • Airline & Themes
      • EasyAlign
      • Plugin Recommendations
      • NERDTree
      • surround.vim
  • Vim 实操教程(Learning Vim)
    • 第一章:光标移动
    • 第二章:打开文件、查找内容
    • 第三章:文档的修改与保存
    • 第四章:一些小技巧
    • 第五章:分屏与标签页
    • 第六章:块操作
    • 第七章:Vim 中的宏
    • Vim 的模式
    • Vim 插件
    • plugins
      • Airline & Themes
      • EasyAlign
      • 插件推荐
      • NERDTree
      • surround.vim
Powered by GitBook
On this page

Was this helpful?

  1. Vim 实操教程(Learning Vim)

第七章:Vim 中的宏

Previous第六章:块操作NextVim 的模式

Last updated 1 year ago

Was this helpful?

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

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

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

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 中遇 到了什么问题,或者教程中遗漏了什么常规操作,欢迎在 中提出 来,我会尽我所能给予回答或完善到教程中。

上一章
issues