VIM - 将多个文件中的行合并为单个文件

时间:2012-01-04 18:18:38

标签: vim

我正在尝试遍历我的缓冲区列表,从每个缓冲区中选择一行,并将它们全部连接到单个文件(或其他缓冲区)中。如:

文件1

... 2号线 ...

file2的

... 2号线 ...

file3的

... 2号线 ...

等等。

全部进入:

MYFILE

line2(file1)

line2(file2)

line2(file3)

我似乎无法让我的寄存器正常工作,而bufdo因某种原因让我心痛......

[澄清] 我希望我可以使用bufdo遍历所有缓冲区,从每个缓冲区中抽出第二行,并将其附加到寄存器中。

然后在另一个文件上,只需将寄存器内容粘贴到其中(包含所有缓冲区中的第二行)。

1 个答案:

答案 0 :(得分:5)

您应该可以使用以下内容执行此操作:

bufdo normal 2G"Ayy

迭代缓冲区并以正常模式运行给定命令。 2G跳转到相应的行,"Ay猛然进入注册a,追加而不是覆盖(因为A是大写的)。在开始之前确保注册a为空!

如果您有窗口或标签而不是缓冲区,则可以使用windotabdo