我已经打开了两个文件。它们是垂直模式下的,相邻排列。我能否在不离开或关闭 Vim 的情况下立即查看这两个文件的差异?
开始在所有可见窗口上执行差异比较:
:windo diffthis
该命令在每个窗口上执行:diffthis
。
要结束差异模式:
:diffoff!
(!
使得diffoff
适用于当前标签页的所有窗口 - 如果diffthis
也有同样的功能就好了,但它没有。)
在你想要进行比较的每个窗口中,输入以下命令:
:diffthis
如果你想对所有打开的窗口进行差异比较,可以执行以下操作:
:windo diffthis
(windo
将应用该命令到所有已打开的窗口)
在之前的答案基础上,
:windo difft
(简写为diffthis
)将在所有打开的窗口中启动比较模式。:windo diffo
(简写为diffoff
)将停止所有打开窗口中的比较模式。我在我的vimrc
文件中设置了以下映射,以使其更易于操作:
command! Difft windo diffthis
command! Diffo windo diffoff
继之前的回答后,我根据 @cxw 提供的映射进行了修改。以下映射会自动关闭 NERDTree 并对打开的窗口进行差异比较。无论 NERDTree 是否关闭,它都可以正常工作。我经常使用这个功能,因此它节省了我很多时间。
command! Difft NERDTreeClose | windo diffthis
:windo
命令使它变得更好。谢谢。我会将其映射以使操作更简便。 - Fatih Arslan:windo difft[this]
。参考::help diff
。 - DmitrySandalov