在 Vim 中比较两个文件

在 Vim 中比较两个文件

是否可以在 Vim 中并排查看两个文件?如果是这样,我如何设置我的编辑器来执行此操作,有没有办法diff在 Vim 中的两个文件之间进行转换?

我知道:next:prev命令,但这不是我想要的。如果能够同时查看这两个文件,那就太好了。

答案1

打开并排视图:

Ctrl+w v

他们之间的变化:

Ctrl+w h or l

然后,您可以通过输入以下命令打开另一个文件以在一侧进行比较:

:e file2.txt

结帐维姆迪夫命令,vim 包的一部分,如果你想要一个类似 diff 的视图,例如:

vimdiff file1.txt file2.txt

答案2

您还可以在分屏模式下打开 vim,使用以下-O选项:-

vim -O file1 [file2 ...]

要打开差异模式,您需要:diffthis在每个窗格中运行该命令。

另一种用例场景是,如果您已经在 vim 中打开了一个文件,并且想要打开它并将其与另一个文件进行比较。然后你可以使用以下 vim 命令:-

:vs otherfile (open otherfile in vertical split screen)
:diffthis (turn on diff mode in original file)
Ctrl+w l  (swap to newly opened file)
:diffthis (turn on diff mode in opened file)

然后,您可以使用 vim 命令关闭每个窗格中的差异模式:diffoff

编辑
还有另一个没有提到的标准:-

vim -d file1 [file2 ...]

这相当于vimdiff直接调用。

答案3

或者直接在 VIM 中打开第一个文件,然后:vert diffsplit file2 :vert使其垂直分割屏幕。

diffsplit进行比较,并分割文件并滚动锁定它们。

答案4

对于那些使用 neovim 的人:

nvim -d file1 file2 [file3 [file4]]

参考:https://neovim.io/doc/user/diff.html

相关内容