如何在 vim 编辑器中以特定间隔复制行

如何在 vim 编辑器中以特定间隔复制行

我需要将第 10、20、30、40 行等复制到 vim 编辑器中的另一个文件中。如何在 vim 中以特定间隔提取行。

答案1

据我所知,没有直接的方法可以跨过行,但您可以使用宏附加到寄存器:

  1. 清除一些寄存器(例如a),并转到起始行(例如,第 10 行):

    :let @a = '' | 10<cr>
    

    <cr>表示Enter

  2. 启动一个宏(比如在b寄存器中) - qb,将当前行附加到第一个寄存器 - "Ayy,移动n(比如说 10)行 - 10j,调用递归执行宏 -@b并保存 - q

    qb"Ayy10j@bq
    
  3. 然后执行宏:

    @b
    

a然后,您可以切换到另一个缓冲区并使用粘贴寄存器的内容"ap

相关内容