Vim diff命令

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

  • 顯示文件之間的差異
  • 激活和停用diff模式
  • 以差異模式導航
  • 從差異窗口應用更改

1. 顯示差異

要顯示文件之間的差異執行以下命令 -

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

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

Vim

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

2. 激活和停用diff模式

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

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

:diffsplit filename

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

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

:vert diffsplit <filename>

它打開以下窗口 -

Vim

上圖顯示正在比較兩個文件,即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

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