Vim diff命令


與UNIX diff命令類似,可以使用Vim以更好的方式顯示diff。 它將以豐富多彩的方式展示差異。 在本章中,將討論以下主題內容 -

  • 顯示檔案之間的差異
  • 啟用和停用diff模式
  • 以差異模式導航
  • 從差異視窗應用更改

1. 顯示差異

要顯示檔案之間的差異執行以下命令 -

$ vimdiff <file> <file> 
或者
$ vim –d <file> <file>

例如,下面的命令顯示差異 -

在上圖中,以品紅色突出顯示的文字很常見。剩餘文字以紅色突出顯示,表示常見文字存在一些差異。

2. 啟用和停用diff模式

如果已經在vim中並且想要執行diff操作,請使用以下命令之一 -

diffsplit
使用以下命令執行水平分割 -

:diffsplit filename

上圖顯示正在比較兩個檔案,即message-1.txtmessage-2.txt

垂直diffsplit
要執行垂直拆分,請使用以下命令 -

:vert diffsplit <filename>

它開啟以下視窗 -

上圖顯示正在比較兩個檔案,即message-1.txtmessage-2.txt

3. 以差異模式導航

差異模式下的導航略有不同。 例如,當從一個視窗捲動文字時,相鄰視窗中的文字也會捲動。 這稱為scrollbind。 要啟用此功能 -

:set scrollbind

要禁用此用途 -

:set noscrollbind

如果在此模式下編輯檔案,請使用以下命令更新diff -

:diffupdate

在diff視窗之間切換
要在差異視窗之間切換執行以下命令 -

Ctrl + w Ctrl + w

請注意,必須按Ctrl + w 2次。

跳轉到上一個更改
diff視窗中,執行以下命令跳轉到上一個更改 -

[c

跳轉到下一個更改

diff視窗中,執行以下命令跳轉到下一個更改 -

]c

4. 從差異視窗應用更改

在當前差異視窗中應用更改
要將相鄰差異視窗的更改應用於當前差異視窗執行 -

:diffget

例如,如果在左視窗中並且想要從右側視窗更改為當前視窗,那麼將執行上述命令。

將更改從當前窗格應用到另一個窗格
要將更改從當前差異視窗應用到相鄰的差異視窗執行 -

:diffput

例如,如果在左視窗中並且想要從當前視窗應用更改到右視窗,那麼將執行上述命令。