在Vim中区分两个选项卡

时间:2009-07-08 01:34:57

标签: vim diff tabs vimdiff buffer

场景:我打开了Vim并粘贴了一些文字。我用:tabe打开第二个标签,然后粘贴其他文字。

目标:我希望第三个标签的输出相当于将两个文本都写入文件并使用vimdiff打开它们。

我能找到的最接近的是“将当前缓冲区与文件区分开”,但不是diff两个打开但未保存的缓冲区。

4 个答案:

答案 0 :(得分:182)

我建议在同一个标​​签中打开第二个文件而不是新文件。

这是我通常做的事情:

:edit file1
:diffthis
:vnew
:edit file2
:diffthis

:vnew命令垂直拆分当前视图,以便您可以在那里打开第二个文件。然后将:diffthis(或简短::difft)命令应用于每个视图。

答案 1 :(得分:38)

我建议您尝试:diffthis:diffsplit

答案 2 :(得分:24)

如果在垂直拆分中打开了两个文件,请运行

:windo diffthis

答案 3 :(得分:1)

所有标签的内容都在缓冲区内。 看看缓冲区:

:buffers

找到与当前标签内容区分的内容的正确数字。

打开当前标签内的缓冲区(f.e。缓冲区编号4)

:sb 4

或垂直视图:

:vertical sb 4

然后你可以用

简单地区分内容
:windo diffthis

如果你完成了差异分析,你可以输入:

:windo diffoff