在Vim中区分两个选项卡

问题描述 投票:116回答:4

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

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

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

vim diff tabs vimdiff buffer
4个回答
182
投票

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

这是我通常做的事情:

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

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


37
投票

我建议尝试:diffthis:diffsplit


23
投票

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

:windo diffthis


1
投票

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

:buffers

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

打开当前选项卡中的缓冲区(f.e。缓冲区编号4)

:sb 4

或者做垂直视图:

:vertical sb 4

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

:windo diffthis

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

:windo diffoff
© www.soinside.com 2019 - 2024. All rights reserved.