Vim 宏
2018-05-04 本文已影响0人
一川烟草_满城风絮_梅子黄时雨
1 原理
"."重复前一个修改动作。但如果你需要作一些更复杂的操作它就不行了。这时,记录命令就变得很有效。这需要三个步骤:
- “q{register}” 命令启动一次击键记录,结果保存到{register}指定的寄存器中。
- 输入你的指令
- 输入q(后面不跟任何字符)命令结束记录。
现在,你可以用“@{register}”命令执行这个宏。
2 实践
假设你有如下文件名列表:
stdio.h
fcntl.h
unistd.h
stdlib.h
而你想把他变成这样:
#include<stdio.h>
#include<fcntl.h>
#include<unistd.h>
#include<stdlib.h>
先移动到第一行,接着执行如下命令:
qa 启动记录,并使用寄存器a
^ 移动到行首
i#include< <Esc> #include< 在行首输入 “#include<”
A><Esc> 在行尾添加 >
j0 移动到下一行的行首
q 结束记录
现在,你已经完成了一次复杂的修改了,你可以通过重复三次"@a",完成余下的修改。"@a"命令可以使用计数前缀进行修饰,使操作重复指定的次数。在本例中你可输入:3@a