想要一种简单的方法来创建此文件:
def foo1():
def foo2():
def foo...():
def fooN():
没有输入每个功能签名。可能?在excel,我会做'def foo'一列,一个整数列,然后一个'():'列,将粘贴复制到.py文件中,但我希望在vim或sublime中使用同样简单的解决方案!谁知道怎么做这个巫术?
答案 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
表示从foo
到1
N
个函数的数量