使用Vim -d 比較兩個檔案的內容
vim -d file1 file2
或
vimdiff file1 file2
2. 如果已經打開了檔案file1,再開啟另一個檔案file2進行比較:
:vert diffsplit file2
如果沒有用vert命令,diffsplit則會分上下兩個視窗。
3. 如果已經用split方式打開了兩個檔案file1,file2,又想比較兩檔案的不同。
分別在兩個窗口裡面輸入命令:
:diffthis
4. 如果更改了某個視窗的內容,vim又沒有自動更新diff檢查,可以使用如下命令更新:
:diffupdate
5. 定位到不同點:
[c 跳到前一個不同點
]c 跳到後一個不同點
6. 在視窗間跳轉:
ctrl-w w 跳到下一個視窗
ctrl-w h 跳到左側視窗
ctrl-w l 跳到右側視窗
ctrl-w j 跳到下方的視窗
ctrl-w k 跳到上方的視窗
7. 合併文件:
dp 將差異點的當前文件內容應用到另一文件(diff put)
do 將差異點的另一文件的內容拷貝到當前文件(diff get)
8. 上下文的展開和檢視
比較和合並檔案的時候經常需要結合上下文來確定最終要採取的操作。Vimdiff 預設是會把不同之處上下各 6 行的文字都顯示出來以供參考。其他的相同的文字行被自動摺疊。如果希望修改預設的上下文行數為3行,可以這樣設定:
:set diffopt=context:3
zf 建立摺疊(使用數字表示建立有當前行到下多少行的摺疊,比如3j就建立包括4行的摺疊)
zo 開啟摺疊(l也可以開啟摺疊)
zc 關閉當前摺疊
zm 關閉所有摺疊
zr 開啟所有摺疊
zE 刪除所有摺疊
zd 刪除當前摺疊
za 若當前開啟則關閉,若當前關閉則開啟
zj 到下一折疊的開始處
zk 到上一折疊的末尾