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