Vim diff命令
與UNIX diff
命令類似,可以使用Vim以更好的方式顯示diff
。 它將以豐富多彩的方式展示差異。 在本章中,將討論以下主題內容 -
- 顯示文件之間的差異
- 激活和停用
diff
模式 - 以差異模式導航
- 從差異窗口應用更改
1. 顯示差異
要顯示文件之間的差異執行以下命令 -
$ vimdiff <file> <file>
或者
$ vim –d <file> <file>
例如,下面的命令顯示差異 -
在上圖中,以品紅色突出顯示的文本很常見。剩餘文本以紅色突出顯示,表示常見文本存在一些差異。
2. 激活和停用diff模式
如果已經在vim中並且想要執行diff
操作,請使用以下命令之一 -
diffsplit
使用以下命令執行水平分割 -
:diffsplit filename
上圖顯示正在比較兩個文件,即message-1.txt和message-2.txt。
垂直diffsplit
要執行垂直拆分,請使用以下命令 -
:vert diffsplit <filename>
它打開以下窗口 -
上圖顯示正在比較兩個文件,即message-1.txt和message-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
例如,如果在左窗口中並且想要從當前窗口應用更改到右窗口,那麼將執行上述命令。