it-swarm.cn

比较Vim中的两个文件

在Vim中可以并排查看两个文件吗?如果是这样,我该如何设置我的编辑器来执行此操作,并且是否可以在Vim中的两个文件之间使用diff

我知道:next:prev命令,但这不是我要的。串联查看两个文件确实很棒。

65
Zaid

打开并排视图:

Ctrl+w v

改变它们:

Ctrl+w h or l

如果需要类似diff的视图,请签出vimdiff命令,它是vim软件包的一部分。

vimdiff file1.txt file2.txt
46
maxschlepzig

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

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在每个窗格中关闭diff模式。

编辑
还有另一个未被提及的标准:

vim -d file1 [file2 ...]

这等效于直接调用vimdiff

44
Alex Leach

您也可以使用vimdiff命令。

例:

vimdiff file1.txt file2.txt
9
Ákos Kovács

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

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

4
Dustin