是否可以在 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
进行比较,并分割文件并滚动锁定它们。