
- Vim 教程
- Vim - 首頁
- Vim - 簡介
- Vim - 安裝與配置
- Vim - 相關工具
- Vim - 初步熟悉
- Vim - 獲取幫助
- Vim - 編輯
- Vim - 導航
- Vim - 再次回顧編輯
- Vim - 搜尋
- Vim - 多檔案操作
- Vim - 標記
- Vim - 宏
- Vim - 暫存器
- Vim - 摺疊
- Vim - 差異比較
- Vim - 外掛
- Vim - 作為IDE使用
- Vim - 遠端檔案編輯
- Vim - 提示與技巧
- Vim - 個性化設定
- Vim - 總結
- Vim 有用資源
- Vim - 快速指南
- Vim - 有用資源
- Vim - 討論
Vim - 差異比較
類似於 UNIX 的 diff 命令,我們可以使用 Vim 以更佳的方式顯示差異。它將以彩色方式顯示差異。在本節中,我們將討論以下內容:
- 顯示檔案之間的差異
- 啟用和停用差異模式
- 差異模式下的導航
- 應用差異視窗中的更改
顯示差異
要顯示檔案之間的差異,請執行以下命令:
$ vimdiff <file> <file> OR $ vim –d <file> <file>
例如,以下命令顯示差異:

在上圖中,以品紅色突出顯示的文字是共同的。其餘文字以紅色突出顯示,表示在公共文字之後存在一些差異。
啟用和停用差異模式
如果您已經在 vim 中並且想要執行差異操作,則可以使用以下命令之一:
diffsplit
使用以下命令執行水平分割:
:diffsplit filename

上圖顯示我們正在比較兩個檔案,即 message-1.txt 和 message-2.txt。
垂直 diffsplit
要執行垂直分割,請使用以下命令:
:vert diffsplit <filename>
它將開啟以下視窗:

上圖顯示我們正在比較兩個檔案,即 message-1.txt 和 message-2.txt。
差異模式下的導航
差異模式下的導航略有不同。例如,當您從一個視窗滾動文字時,相鄰視窗中的文字也會滾動。這稱為 scrollbind。要啟用此功能,請使用:
:set scrollbind
要停用此功能,請使用:
:set noscrollbind
如果您在此模式下編輯檔案,則使用以下命令更新差異:
:diffupdate
在差異視窗之間切換
要在差異視窗之間切換,請執行以下命令:
Ctrl + w Ctrl + w
請注意,我們必須按兩次 Ctrl + w。
跳轉到上一個更改
在差異視窗中,執行以下命令以跳轉到上一個更改:
[c
跳轉到下一個更改
在差異視窗中,執行以下命令以跳轉到下一個更改:
]c
應用差異視窗中的更改
在當前差異視窗中應用更改
要將相鄰差異視窗中的更改應用於當前差異視窗,請執行:
:diffget
例如,如果您位於左側視窗,並且想要將右側視窗中的更改應用於當前視窗,則將執行上述命令。
將當前窗格中的更改應用於另一個窗格
要將當前差異視窗中的更改應用於相鄰差異視窗,請執行:
:diffput
例如,如果您位於左側視窗,並且想要將當前視窗中的更改應用於右側視窗,則將執行上述命令。
廣告