Skip to content
On this page

17 vim 掌握宏

凡是可以重复的,都可以重复

宏(macro) 就像我们在编程中所写的函数,可以封装/录制一系列操作,等到再次需要的时候,直接调用宏来完成任务即可。

录制和使用宏

  • q + [字母]:开始录制,并把当前一次的录制命名为 [字母];如 qa,则当前录制的宏操作名称为 a,如 qq,宏操作则为 q;录制完后,再输入 q 则退出录制
  • :req + [字母]:查看录制好的名为 [字母] 的宏操作
  • @ + [字母]:调用名为 [字母] 的宏操作
  • @@:调用最后一次执行的宏操作
  • [数字] + @ + [字母]:以 [数字] 次数重复执行名称为 [字母] 的宏操作
  • q + [大写字母]:在对应名为 [字母] 的宏操作后追加命令;比如我们录制一个宏操作为 a,他的功能是删除每行的第一个单词;则我们首先录制改宏操作:qa^diw;录制完后发现我们删除了第一个单词后,还需要把光标移到下一行,这时我们可以键入 qAj,即在宏操作 a 后面追加个 j 命令,就可以使用追加后的宏了

技巧

  • 先规范好光标的位置
  • 移动时使用相对位置
    • 比如 w/e/textObject 是相对位置
    • jkhl 就是绝对位置

todo

案例说明 tbc

更多详细技巧在实际使用中不断摸索