Vim巫术来做到这一点

时间:2016-07-30 23:57:00

标签: vim sublimetext3

想要一种简单的方法来创建此文件:

def foo1():

def foo2():

def foo...():

def fooN():

没有输入每个功能签名。可能?在excel,我会做'def foo'一列,一个整数列,然后一个'():'列,将粘贴复制到.py文件中,但我希望在vim或sublime中使用同样简单的解决方案!谁知道怎么做这个巫术?

2 个答案:

答案 0 :(得分:6)

对于这个技巧,我们将使用vim。首先在代码顶部键入第一个定义。在插入模式下输入:

def foo1():

然后使用<esc>退出插入模式。

我们现在将创建一个vim宏来根据需要多次复制它。使用gg转到文件的开头。

现在,使用qq启动recording a macro。这会将您的宏存储在“q”寄存器中。首先使用yyp复制函数定义。如果需要,可以使用O<esc>j在上方创建一个空行。然后使用Ctrl + a increment复制您的副本的功能编号。完成后,使用0转到该行的开头,然后使用q停止录制宏。

现在只需根据需要重播宏。例如,键入100@q即可播放100次。瞧!

答案 1 :(得分:3)

根据需要更改变量N的值:

:let N=5
:execute "normal! ".N."idef foo0():\r\r\<Esc>" | g/\d\+/ :.,$s//\=submatch(0)+1/

N 表示从foo1

N个函数的数量