本文链接地址: http://easwy.com/blog/archives/vi-tip-of-using-recording/
vi技巧: 宏的使用技巧
本文所用命令的帮助入口:
:help q :help @ :help :let-@
再请教一下:我想在.vimrc中设置一个宏,请vi启动的时候就有这个宏,应该怎么办?
其实在vim中所谓的宏就是把一串命令放到了指定的寄存器里。所以要实现Karl的需求,可以这样做:先录制好宏后,然后在vimrc里把这个宏中的命令放到指定寄存器里,这样vim启动后就可以直接使用这个宏了。
具体的做法如下:
第一步:首先录制宏,Easwy以插入三行文字做为一个简单的例子。这三行文字是:
================================ I love vim. Happy vimming! ================================
按qu开始录制,录制完成后再按一个q命令结束,这样就把宏录制到寄存器u中了。
现在我们可以查看一下u寄存器的内容,用命令“up,把u寄存器的内容粘贴出来:
32i=^[oI love vim. Happy vimming!^M^[32i=^[
注意,上面的^[实际上是<ESC>键的键码,同样,^M是换行键<CR>的键码,在vim中它们以特殊的颜色被显示出来,如果你把光标在它们上面移过,你会发现它们虽被显示成两个字符,但实际上只是一个。
第二步:现在我们用下面的命令在.vimrc中输入一行:
<ESC>olet @m = "<ESC>"upa"<ESC>
这行命令实际上在.vimrc加入了这行话:
let @m = "32i=^[oI love vim. Happy vimming!^M^[32i=^["
第三步:现在你重启vi,然后直接输出下面的命令:
@m
怎么样,宏是不是生效了?!
要想了解更多细节,请阅读文章开始处给出的帮助手册。
更多关于vi/vim的内容,请阅读易水博客上的其它文章。
原创文章,请阅读页脚的许可方式,转载请注明:转载自易水博客 [ http://easwy.com/blog/]
本文链接地址: http://easwy.com/blog/archives/vi-tip-of-using-recording/
文章的脚注信息由WordPress的wp-posturl插件自动生成
This entry was posted in 开源软件 and tagged Vim on 2010年01月28日.
PS:我在保存宏的时候会提示我fenc有点部问题之类.
强制把fenc弄为空之后,
再保存下来,中间某些字符使得实现的宏与之前录制的会有所出入(我录了一个拆包的宏)
再用记事本打开后,把其中一个看上去很怪异的字符给去掉后就好了.