VIM中利用宏来实现插入一列递增或递减序号

来源:互联网 发布:二维树状数组 编辑:程序博客网 时间:2024/05/22 13:17

  经常遇到需要在文本中插入序号的情况,网上有很多方法,有时还要用到插件。在这里偶介绍偶经常使用的方法:利用VIM的宏录制功能来插入一列递增或递减序号。其实VIM的宏录制功能确实比较实用,可以完成很多任务,省掉好多插件。

 

这里举例:

 

  需要在一个已经写好的文本中插入行号(序号)。(其它情况请大家自行变通下吧^_^)

操作流程:

 

  1、进入VIM,读取文件内容。

 

  2、在需要加入行号的首行开头输入起始行号(序号)并加入一个空格与后文隔开(空格用于后面的单词复制分隔,如要不希望加入空格也可以用其它方式来框选序号,偶就不一一列举了)。

 

  3、将光标置于行首(其实就是序号上),按下q(命令模式下),开始录制操作啦~;再按下t(偶将宏存到t中,大家也可以使用其它字符命名宏,注意是单个字符)

 

  4、在命令模式下按下yw,将行序号当作单词复制下来。

 

  5、按j到下一行,现在光标应该正对应到插入位置,按下P(最好是大写,表明在当前字符前粘贴),将上行序号粘贴到这个位置。

 

  6、按下^(无视空格用0[零,非欧]),光标回到行首(其实就是回到行序号上,还有其它方法可以实现),按下Ctrl-a,序号会加1(Ctrl-x表示减1,大家明白加2减2……如何处理了吧),然后再次按下^,保证光标在行序号开始位置。

 

  7、按下q结束录制。

 

  8、在光标位于行序号首的情况下,想插入10个连续的行号就输入10@t,10代表执行次数,@表示执行宏,t是偶刚才给宏的命名,大家按自己命名使用。

 

  并且,默认情况下这个宏定义不会被清除,只要以后不重新在t上定义其它宏,再次重启VIM时也可以使用,再次使用时就不用录制了,直接使用就可以了^_^。

 

  neonlight <neonlight@live.cn>,BLOG:http://blog.csdn.net/neonlight 转载请注明出处,谢谢!2009-11-27

原创粉丝点击