123

场景:我打开了 Vim 并粘贴了一些文本。我打开第二个标签:tabe并在其中粘贴一些其他文本。

目标:我想要第三个选项卡,其输出相当于将两个文本写入文件并使用vimdiff.

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

4

4 回答 4

192

我建议在同一个选项卡中打开第二个文件而不是新文件。

这是我通常做的:

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

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

于 2009-07-08T14:39:56.587 回答
38

我建议尝试:diffthis:diffsplit

于 2009-07-08T01:54:24.457 回答
27

当您在垂直拆分中打开两个文件时,运行

:windo diffthis

于 2013-05-24T20:08:12.223 回答
2

所有选项卡的内容都在缓冲区内。查看缓冲区:

:buffers

找到与当前标签内容不同的内容的正确编号。

打开当前选项卡内的缓冲区(fe 缓冲区编号 4)

:sb 4

或者做垂直视图:

:vertical sb 4

然后你可以简单地区分内容

:windo diffthis

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

:windo diffoff
于 2018-03-01T11:01:20.977 回答