vim 宏的录制和使用

来源:互联网 发布:网络系统集成的概念 编辑:程序博客网 时间:2024/06/08 20:24

vim中的宏实质就是把一个vim指令集存到了寄存器中,然后在调用寄存器中的指令。

使用宏命令可以重复执行你所记录下的命令。

命令模式下按
q+<register>+一系列命令+q
<register> 指用户自己定义的a-z中的一个寄存器
q+<register> 开始记录命令
q 完成记录,退出记录
例: qa
    vim  命令
    q
这个宏只记录了vim命令到寄存器a中,执行这个宏可以用命令:
@a
也可以加上执行次数:
10@a 执行10次
当你执行过一次@a之后,你可以用@@来重复执行@a

修改宏
当你发现存在某个寄存器的命令宏是错误的,你除了可以重新写一遍命令宏之外,还有如下修改方式:
1、先用G(大写)到文件末尾,然后用o(小写)新加一行,不要编辑,用ESC退出到普通模式,其实就是为编辑宏找了个地方。
2、使用命令"ap会看到寄存器a中的命令宏像文本一样出现在这一行,然后编辑这一行。编辑的时候与vim编辑其他的文件一样。编辑结束后用0(零)回到行首。
3、然后用"ay$将正确内容写到寄存器a中,最后删除这一行即可。
4、当你需要向命令宏寄存器中增加内容时,可以用命令qA来向a寄存器增加内容,之后输入你想增加的内容,再使用q结束。

保存和传递宏
1 先建立一个宏。如上
2 在任意一个文件的空白位置normal状态下,命令"ap 即可以把宏的内容显示出来。比如说我的宏是:
"ohello th id<80>kb<80>kb<80>kbis is a a<80>kba<80>kbmaco of vim.^["
3 这段内容保存或传递。
4 使用命令:let @a="ohello th id<80>kb<80>kb<80>kbis is a a<80>kba<80>kbmaco of vim.^["
或者参考修改宏的第三步。

5 其他人用@a命令就可以使用你制作的宏了。


参考文档

http://easwy.com/blog/archives/vi-tip-of-using-recording/

原创粉丝点击