例:
qa some vim command q
这个宏只记录了vim命令到寄存器a中,执行这个宏可以用命令:
@a
也可以加上执行次数:
10@a
执行10次
当你执行过一次@a之后,你可以用
@@
来重复执行@a
当你发现存在某个寄存器的命令宏是错误的,你除了可以重新写一遍命令宏之外,还有如下修改方式:
1、先用G(大写)到文件末尾,然后用o(小写)新加一行,不要编辑,用ESC退出到普通模式,其实就是为编辑宏找了个地方。
2、使用命令
"ap
会看到寄存器a中的命令宏像文本一样出现在这一行,然后编辑这一行。编辑的时候与vim编辑其他的文件一样。编辑结束后用0(零)回到行首。
3、然后用
"ay$
将正确内容写到寄存器a中,最后删除这一行即可。
保存上述宏为文件,也是先使用 “ap打印出来 ,也可以赋值为
let @a="some command of macro of vim.^["
some Zen:
vi has 26 "marks" and 26 "registers”.
one way to cut an arbitrary selection of text would be to drop a mark。ma simply use d`a
to cut or y`a
to copy
use "add
I'm cutting the current line into the 'a' register
:r!cat **Ctrl-V to paste from the OS clipboard** ^D