vimdiff 命令使用介绍
?
?
?
vimdiff 等同于 vim -d 命令,即 Vim 編輯器的 diff 模式。
該命令后面通常會接兩個或多個文件名作為參數,這些文件會同時在 Vim 編輯器的分割窗口中打開,并高亮顯示文件中內容有差異的部分。
同時該模式下還提供部分快捷按鍵用于完成文件內容的合并等操作。
啟動 vimdiff
vimdiff 命令常用于編輯同一文件的不同歷史版本,對各文件的內容進行比對與調整。如下面兩個文件:
$ cat file1 Line one Line 2 Line threeLine 4 Line 5 Line 6 $ cat file2 Line 1 Line 2 Line 3 Line 4 Line 5 Line 6 Line 7 Line 8可以使用 vim -O2 file1 file2 命令,在左右排列的兩個窗口中同時打開 file1 和 file2 兩個文件,如下圖所示:
?
vim -O2 file1 file2
?
而 vimdiff file1 file2 命令會以同樣的形式打開這兩個文件,并且用不同的背景色高亮顯示彼此間有差別的內容,如下圖:
?
vimdiff file1 file2
?
從上面的兩幅截圖中可以得出 vimdiff 標記差別內容時的幾個規則:
- 只在某一個文件中存在的行背景色設置為藍色,而另一文件中的對應位置則被標記為綠色。(或者說,相對于另一個文件,當前文件中“多余”的行標記為藍色,“缺少”的行則標記為綠色)
- 兩個文件中同時存在但是內容有差異的行,都標記為粉色,而引起差異的文字標記為紅色
除了 vimdiff FILE_LEFT FILE_RIGHT 或者 vim -d FILE_LEFT FILE_RIGHT 的形式外,也可以通過在 Vim 中輸入命令進入 diff 模式。
比如先進入 Vim 編輯 FILE_LEFT 文件(vim FILE_LEFT),再輸入以下命令進入 diff 模式:
:vertical diffsplit FILE_RIGHT
光標移動
可以使用下列兩種快捷鍵,在文件的各個差異點之間前后移動:
- ], c:跳轉到下個差異點
- [, c:跳轉到上個差異點
至于光標在兩個窗口之前的切換,可以使用如下按鍵:
- Ctrl-w, l:光標切換到右側的窗口
- Ctrl-w, h:光標切換到左側的窗口
- Ctrl-w, w:光標在兩個窗口間彼此切換
內容合并
可以使用 d, p (即 diff put)命令,將當前差異點中的內容覆蓋到另一文件中的對應位置。
如當光標位于左側文件(file1)中的第一行時,依次按下 d、p 鍵,則 file1 中的 Line one 被推送
到右側,并替換掉 file2 中對應位置上的 Line 1 。截圖如下:
?
d p
可與上一幅截圖對比查看效果。
?
而 d, o (即 diff obtain)命令可以將另一窗口中差異點處的內容拉取到當前位置并進行替換操作。截圖如下:
?
d o
?
即在 file1 的第一行執行 d o 命令后,file2 中的第一行內容 Line 1 被拉取到 file1 中并替換掉原來位置上的 Line one。
同時操作兩個文件
vimdiff 實際上是 Vim 編輯器的 diff 模式,因此適用于 Vim 編輯器的命令和快捷鍵也同樣可以在該模式下使用。常用的幾個命令如下:
- :qa:退出所有文件
- :wa:保存所有文件
- :wqa:保存并退出所有文件
- qa!:強制退出(不保存)所有文件
- z o:查看被折疊的內容
- z c:重新折疊
?
總結
以上是生活随笔為你收集整理的vimdiff 命令使用介绍的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python实现支持向量机(基于双月数据
- 下一篇: 瑞星:病毒伪装“交行安全控件”盗取用户敏