我需要将第 10、20、30、40 行等复制到 vim 编辑器中的另一个文件中。如何在 vim 中以特定间隔提取行。
答案1
据我所知,没有直接的方法可以跨过行,但您可以使用宏附加到寄存器:
清除一些寄存器(例如
a
),并转到起始行(例如,第 10 行)::let @a = '' | 10<cr>
(
<cr>
表示Enter)启动一个宏(比如在
b
寄存器中) -qb
,将当前行附加到第一个寄存器 -"Ayy
,移动n(比如说 10)行 -10j
,调用递归执行宏 -@b
并保存 -q
:qb"Ayy10j@bq
然后执行宏:
@b
a
然后,您可以切换到另一个缓冲区并使用粘贴寄存器的内容"ap
。