如何用Vim实现带递增数字的变量序列生成?
Vim生成带递增数字序列的便捷方法
不用先复制11行再逐个修改,有几种更高效的方式直接生成目标序列:
方法一:用Ex命令直接生成(最快捷)
光标在任意位置,执行以下命令直接生成foo1到foo10的10行内容:
:for i in range(1,10) | put ='foo'.i | endfor
range(1,10)生成1到10的整数序列'foo'.i拼接字符串和数字put命令将结果插入到光标下方
方法二:可视块+递增快捷键
如果已经有一行foo1,可以按以下步骤操作:
- 复制该行9次得到10行:光标在
foo1行,按yy复制当前行,再按9p粘贴9次 - 选中所有数字:光标移到第一行的
1上,按Ctrl-V(Windows系统用Ctrl-Q)进入可视块模式,向下移动光标选中所有行的数字 - 批量递增:按
g Ctrl-A,所有选中的数字会自动从1递增到10
方法三:宏录制重复操作
适合需要重复类似递增操作的场景:
- 开始录制宏:光标在
foo1行,按qa(将宏录制到a寄存器) - 录制操作:按
Yp复制当前行到下一行,再按Ctrl-A将数字加1,最后按q停止录制 - 执行宏:按
8@a执行宏8次,即可得到10行从foo1到foo10的内容
内容的提问来源于stack exchange,提问作者BarelyDeveloper
相关产品推荐
相关产品推荐

