vim比較兩個檔案的不同
阿新 • • 發佈:2019-01-23
本文轉自:
- 使用vim的比較模式開啟兩個檔案:
vim -d file1 file2
或
vimdiff file1 file2 - 如果已經打開了檔案file1,再開啟另一個檔案file2進行比較:
:vert diffsplit file2
如果沒有用vert命令,diffsplit則會分上下兩個視窗。 - 如果已經用split方式打開了兩個檔案file1,file2,又想比較兩檔案的不同。
分別在兩個窗口裡面輸入命令:
:diffthis - 如果更改了某個視窗的內容,vim又沒有自動更新diff檢查,可以使用如下命令更新:
:diffupdate - 定位到不同點:
[c 跳到前一個不同點
]c 跳到後一個不同點 - 在視窗間跳轉:
ctrl-w w 跳到下一個視窗
ctrl-w h 跳到左側視窗
ctrl-w l 跳到右側視窗
ctrl-w j 跳到下方的視窗
ctrl-w k 跳到上方的視窗 - 合併文件:
dp 將差異點的當前文件內容應用到另一文件(diff put)
do 將差異點的另一文件的內容拷貝到當前文件(diff get) - 上下文的展開和檢視
比較和合並檔案的時候經常需要結合上下文來確定最終要採取的操作。Vimdiff 預設是會把不同之處上下各 6 行的文字都顯示出來以供參考。其他的相同的文字行被自動摺疊。如果希望修改預設的上下文行數為3行,可以這樣設定:
:set diffopt=context:3
可以用簡單的摺疊命令來臨時展開被摺疊的相同的文字行:
zo (folding open, z這個字母看上去比較像摺疊的紙)
然後可以用下列命令來重新摺疊:
zc (folding close)