使用Vim比較兩個文件的內容


 

原文地址:http://blog.chinaunix.net/uid-22548820-id-3477464.html

1. 使用vim的比較模式打開兩個文件:
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   到上一折疊的末尾


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM