场景:我打开了Vim并粘贴了一些文字。我用:tabe
打开第二个标签,然后粘贴其他文字。
目标:我希望第三个标签的输出相当于将两个文本都写入文件并使用vimdiff
打开它们。
我能找到的最接近的是“将当前缓冲区与文件区分开”,但不是diff
两个打开但未保存的缓冲区。
答案 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