vi序列号生成

aru*_*zhi 4 regex vi vim

我需要vi用这种模式创建一个文件.有没有办法使用第一行自动生成这些行

run 1 end
run 2 end
run 3 end
run 4 end
run 5 end
run 6 end
Run Code Online (Sandbox Code Playgroud)

我总是可以在excel中执行此操作,然后将其转换为文本文件,然后切换到vi,但想知道是否有办法执行此操作,vi以便我不必切换回excel

Wil*_*ell 10

:help ctrl-a

^ a增加光标下的数字,您可以在宏中使用它.对于您的情况,假设您有第一行并且光标在其上:

qaYpw^aq4@a
Run Code Online (Sandbox Code Playgroud)

应该做的伎俩.这是帮助页面中概述的技术,通过w将光标向前移动到数字进行修改.打破它:

  • qa 开始在寄存器中记录宏 a
  • Y 猛拉当前线
  • p 将yank缓冲区放在当前位置下方并移动到新行的第1列
  • w 前进一个词(到数字)
  • ^a 增加数量
  • q 停止录制宏
  • <count>@a 应用宏<count>次

    另一种技术是使用外部工具.例如,如果您已经拥有该行并且光标位于其上:

    !!awk '1;{for(i=0;i<5;i++){$2+=1; print}}'
    
    Run Code Online (Sandbox Code Playgroud)