用vim的宏录制功能写Thrift文件

  由于thrift文件中的结构体成员变量或service的函数声明前,需要一个递增的数字,例如:

 1 /** @Description('') */
 2 1: i32 id,
 3 
 4 /** @Description('') */
 5 2: string name,
 6 
 7 /** @Description('') */
 8 3: i32 age,
 9 .
10 .
11 .

  如果一个一个的写,或者yy + p然后改成数字递增,感觉很麻烦。这里用vim的宏录制功能就很神器了。

  在vim的Normal模式下,就是命令模式下,按下q,进入宏录制,再按下a-z的某一字母,即表示某一寄存器,则开始进入录制模式。屏幕左下会显示一个recording字样。

  例如,将光标放在有数字的那一行,也就是“1: type var,”那行,然后按下qa:

  接着,可以用行选或任意你喜欢的vim复制粘贴的方式将Description + 变量声明这两行复制并粘贴到下面:

  然后,光标选到数字1上,并用vim的数字自增操作(ctrl + a)令1自增为2:

  到此录制完毕,再按q键结束录制。从按qa开始到按q结束的所有行为就被录制为一个宏。按“@” + 寄存器,例如本例的@a,即可重放宏,效果就是:

  快捷键“@@”表示重放上次播放的宏,即重放@a。如果结合vim的次数+功能键的能力,例如再输入“10@@”,就是重放10次a寄存器中的宏:

 

  然后该干嘛干嘛吧,到此为止~至少节省了人肉一行一行改数字的时间,如果这招练熟了,还可以完成很多重复性的更复杂的任务。

  不会录制gif,从酷壳找了个同样同能的gif示例,看起来更直观:

posted @ 2013-07-08 21:24  Johnny_要学习  阅读(380)  评论(0编辑  收藏  举报