與UNIX diff
命令類似,可以使用Vim以更好的方式顯示diff
。 它將以豐富多彩的方式展示差異。 在本章中,將討論以下主題內容 -
diff
模式要顯示檔案之間的差異執行以下命令 -
$ vimdiff <file> <file>
或者
$ vim –d <file> <file>
例如,下面的命令顯示差異 -
在上圖中,以品紅色突出顯示的文字很常見。剩餘文字以紅色突出顯示,表示常見文字存在一些差異。
如果已經在vim中並且想要執行diff
操作,請使用以下命令之一 -
diffsplit
使用以下命令執行水平分割 -
:diffsplit filename
上圖顯示正在比較兩個檔案,即message-1.txt和message-2.txt。
垂直diffsplit
要執行垂直拆分,請使用以下命令 -
:vert diffsplit <filename>
它開啟以下視窗 -
上圖顯示正在比較兩個檔案,即message-1.txt和message-2.txt。
差異模式下的導航略有不同。 例如,當從一個視窗捲動文字時,相鄰視窗中的文字也會捲動。 這稱為scrollbind
。 要啟用此功能 -
:set scrollbind
要禁用此用途 -
:set noscrollbind
如果在此模式下編輯檔案,請使用以下命令更新diff -
:diffupdate
在diff視窗之間切換
要在差異視窗之間切換執行以下命令 -
Ctrl + w Ctrl + w
請注意,必須按Ctrl + w 2
次。
跳轉到上一個更改
在diff
視窗中,執行以下命令跳轉到上一個更改 -
[c
跳轉到下一個更改
在diff
視窗中,執行以下命令跳轉到下一個更改 -
]c
在當前差異視窗中應用更改
要將相鄰差異視窗的更改應用於當前差異視窗執行 -
:diffget
例如,如果在左視窗中並且想要從右側視窗更改為當前視窗,那麼將執行上述命令。
將更改從當前窗格應用到另一個窗格
要將更改從當前差異視窗應用到相鄰的差異視窗執行 -
:diffput
例如,如果在左視窗中並且想要從當前視窗應用更改到右視窗,那麼將執行上述命令。