vim宏操作
vim宏操作
建议看完本文的相关文字说明后 仔细看一下文末的demo和gif演示图
宏操作是vim中一个可以 录制并调用 按键组合的一个操作
可有效的减少重复操作
可通过 :h q
查看帮助手册
宏 - 重复组合操作 - complex-repeat
开始录制宏
帮助:
1 |
|
在normal模式下,使用 q+指定寄存器开始录制宏, 只选的寄存器有 数字和大小写字母寄存器
例如 qai12345<cr><esc>
即指定寄存器a,录制了动作 进入插入模式 插入12345 回车换行 退出插入模式
的宏操作
结束录制宏
帮助:
1 |
|
在vim录制宏的过程下,normal模式下使用q结束录制
接上 #开始录制宏 这部分的操作 开始录制到结束录制的完整键入为 qai12345<cr><esc>q
调用录制完成的宏
帮助:
1 |
|
在normal模式下,使用 @+指定寄存器名称 调用对应寄存器上的宏。
例如本文前面于a寄存器上录制了宏 调用时只需要 @a 即可
PS: 特殊的调用形式 @@可调用最近调用过的宏 即@a后,可用@@调用a寄存器的宏
DEMO
例:
1 |
|
实现(其实位置在第一行 第一列):
- 先复制一个
key0
- 录制一个宏
qq w viwp <ctrl+a> yiw A; <esc>j^ q
- qq 指定q寄存器开始录制宏
- w 跳转到下一个单词开头 即跳到aa处
- viwp 选中
aa
并且用p将aa
替换为key0
- <ctrl+a> 将
key0
自增为key1
- yiw 将
key1
复制到剪切板 - A; 跳到行尾插入;
j^ 退出插入模式并到下一行且回到行首 - q 结束本次录制
- 调用4次宏
4@q
实现的要点在于每次的开始状态、结束状态要保持一致 例如上述
GIF演示
vim宏操作
https://yaocc.cc/vimmacro/