如何在VIM命令模式下使用vimdiff?

19

我想在VIM命令模式下使用:vimdiff file1 file2来比较这些文件,但我得到了一个错误信息E492: Not an editor command: vimdiff。我有遗漏什么吗?如何解决?

根据Vim手册,vimdiff命令应该是可用的。


也许你可以链接到你的文档。我很确定你对文档是错误的。 - sehe
2个回答

30
我会这样做:
:tabe file1
:vert diffsplit file2

如果您已经在当前标签页中打开了其他缓冲区,则使用widows。否则:

:e file1
:vert diffsplit file2

如果你在当前标签页中打开了两个或三个窗口,并且它们显示了你想要比较的缓冲区,你可能想为每个窗口打开diff模式:

:windo diffthis

或者,同义词:windo set diff

更新 - 使用vim-unimpaired,您可以使用cod来更改diff窗口设置。因此,在要进行差异比较的两个窗口上都使用cod命令。


1
不要忘记非常有用的:diffthis - sehe
4
当你完成输入 :diffoff! 命令时,它会关闭当前选项卡页中所有窗口的 diff 模式。 - Peter Rincker
好的,谢谢!也就是说,在vim模式下将无法使用:vimdiff命令。我会使用:vert diffsplit file2代替它。 - stackFish

8

vimdiff是一个命令行命令,可以在vim中尝试如下使用

:!vimdiff file1 file2

感叹号在vim中表示执行一个正则命令。


4
也可以使用:diffsplit命令,在已经打开的Vim中实现相同的功能。然而,第一个文件必须已经被打开。 - Matej

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接