You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在VIM中每隔指定行数插入递增编号?

在Vim中每隔N行插入递增编号的实现方法

以下是几种可行的实现方式,以你给出的N=2的场景为例:

方法一:宏录制(适合少量插入场景)

  1. 将光标移到第2行(即c, d所在行)的任意位置
  2. 按下 q q 开始录制宏到q寄存器
  3. 执行操作:o(插入新行)→ 输入1→ 按Esc回到正常模式 → 按j j跳转到下一组行的末尾(即g, h行)
  4. 按下q停止录制
  5. 执行宏:输入@q插入编号2,若需要更多编号,重复输入@@即可

方法二:正则+计数器(适合大量行的自动化处理)

  1. 先初始化计数器,在命令行输入:
    let i=1
  2. 执行全局替换命令,在每2行后插入递增编号:
    g/^\(.*\n.*\)$/put =i | let i=i+1
  • 解释:^\(.*\n.*\)$匹配连续两行内容,put =i将当前计数器值插入新行,let i=i+1实现计数器自增
  • 如果需要调整N值,比如N=3,只需把正则改为^\(.*\n.*\n.*\)$即可

方法三:手动结合表达式寄存器(灵活调整插入位置)

  1. 初始化计数器:let i=1
  2. 将光标移到需要插入编号的位置,按o新建行
  3. 按Ctrl+r =,输入i后按回车,插入当前计数器值
  4. 执行let i=i+1让计数器自增,重复步骤2-4完成后续插入

内容的提问来源于stack exchange,提问作者vinu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 11:35:57