我需要在 vi
中创建一个文件用这种模式。有没有办法使用第一行自动生成这些行
run 1 end
run 2 end
run 3 end
run 4 end
run 5 end
run 6 end
我总是可以在 excel 中执行此操作,然后将其转换为文本文件,然后切换到
vi
,但想知道是否有办法在 vi
中做到这一点这样我就不必切换回 excel
最佳答案
:help ctrl-a
^a 增加光标下的数字,您可以在宏中使用它。对于您的情况,假设您有第一行并且光标在其上:
qaYpw^aq4@a
应该做的伎俩。这是帮助页面中概述的技术,使用
w
进行了修改。将光标向前移动到数字。分解它:qa
开始在寄存器中记录宏 a
Y
猛拉当前行 p
将 yank 缓冲区放在当前位置下方并移动到新行的第 1 列 w
向前移动一个字(到数)^a
增加数字 q
停止录制宏 <count>@a
应用宏 另一种技术是使用外部工具。例如,如果您已经有了该行并且光标在其上:
!!awk '1;{for(i=0;i<5;i++){$2+=1; print}}'
关于regex - vi 序列号生成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13734430/