115

我打开了两个文件。它们以垂直模式打开,紧挨着下一个。我可以在不离开或关闭 Vim 的情况下立即区分这两个文件吗?

4

4 回答 4

180

要开始在所有可见窗口上进行差异化:

:windo diffthis

:diffthis在每个窗口上执行。

结束差异模式:

:diffoff!

!makediffoff适用于当前选项卡的所有窗口 - 如果diffthis具有相同的功能会很好,但事实并非如此。)

于 2010-12-08T10:04:14.560 回答
25

在您要区分的每个窗口中键入:

:diffthis

如果你想区分所有打开的窗口,你可以这样做:

:windo diffthis

windo将命令应用于所有打开的窗口)

于 2010-12-08T08:40:43.480 回答
9

跟进之前的答案,

  • :windo difft(缩写diffthis)将在所有打开的窗口中启动差异模式。
  • :windo diffo(缩写diffoff)将在所有打开的窗口中停止差异模式。

我有以下映射vimrc以使其更容易:

command! Difft windo diffthis
command! Diffo windo diffoff
于 2015-06-29T17:45:31.233 回答
6

根据之前的答案,我调整了@cxw 提供的映射。以下映射会自动关闭NERDTree并区分打开的窗口。NERDTree是否关闭并不重要,它的工作方式相同。我经常这样做,所以它节省了我很多时间。

command! Difft NERDTreeClose | windo diffthis
于 2018-06-06T11:17:45.793 回答