Vim

在 Vim 中比較兩個文件

  • February 17, 2022

是否可以在 Vim 中並排查看兩個文件?如果是這樣,我該如何設置我的編輯器來做到這一點,有沒有辦法diff在 Vim 中的兩個文件之間進行操作?

我知道:nextand:prev命令,但這不是我所追求的。串聯查看這兩個文件真的很棒。

打開並排視圖:

Ctrl+w v

它們之間的變化:

Ctrl+w h or l

然後,您可以通過輸入以下命令在一側打開另一個文件進行比較:

:e file2.txt

如果您想要類似 diff 的視圖,請查看 vim 軟體包的一部分vimdiff命令,例如:

vimdiff file1.txt file2.txt

您還可以使用以下-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

編輯

還有另一個沒有提到的標準:-

vim -d file1 [file2 ...]

這相當於vimdiff直接呼叫。

引用自:https://unix.stackexchange.com/questions/1386