在linux下,diff是一個經常使用的文本比較工具,熟練使用能夠大大提升在服務器端的開發效率。linux
1.啓動diffvim
在VIM中開啓diff的方式有不少,下面介紹幾種經常使用的場景。服務器
1.1 外部直接打開兩個文件工具
# 直接使用vimdiff指令
vimdiff FILE_1 FILE_2
# 使用vim指令加-d參數
vim -d FILE_1 FILE_2
1.2 打開文件以後再進行文件比較this
# 先打開一個文件,再打開另外一個文件進行對比 vim FILE_1 :vertical diffsplit FILE_2 # 直接打開兩個文件,在進行比較 vim -On FILE_1 FILE_2 :diffthis # 要在兩個窗口都輸入
2.改變文件位置spa
能夠根據我的習慣和文件格式來更改對比文件的顯示位置。code
Ctrl-w K # 把當前窗口移到最上邊
Ctrl-w H # 把當前窗口移到最左邊
Ctrl-w J # 把當前窗口移到最下邊
Ctrl-w L # 把當前窗口移到最右邊
3.鎖定和解鎖blog
在進行文件比較時,默認是鎖定了兩個文件的滾動條的。開發
:set noscrollbind # 解鎖
:set scrollbind # 鎖定(會從新對齊)
4.移動光標get
在修改文件時須要移動光標位置,VIM下的移動方式均可以,可是多了一個跳轉到差別行的快捷鍵。
]c # 跳到下一個差別點 [c # 跳到上一個差別點 n]c # 越過n哥差別點跳到下一個差別點 n[c # 越過n哥差別點跳到上一個差別點
5.文件合併
比較文件的目的通常是將兩個文件合併爲一個文件,diff提供了便捷的合併方式。
dp # diff "put" 將此文件的內容複製到另一個文件中
do # diff "get" 將另一個文件的內容複製到此文件中
6.手動修改
若是兩邊的文件都不盡如人意,你能夠跳轉到相應窗口,手動修改文件。
ctrl+w # 跳轉到下個窗口
ctrl+h # 跳轉到左邊窗口
ctrl+j # 跳轉到下面窗口
ctrl+k # 跳轉到上面窗口
ctrl+l # 跳轉到右邊窗口
7.手動更新
有時,在修改完成後,VIM並無自動刷新差別項,這時,咱們須要手動更新文件。
:diffupdate
8.摺疊無差別項
VIM是默認摺疊無差別項的,我也能夠手動打開和摺疊,協助比較。
zo # folding open 展開無差別項
zc # folding close 摺疊無差別項
9.修改上下文行數
VIM默認顯示6行上下文,咱們能夠根據本身需求修改。
:set diffopt=context:n # 設置顯示n行上下文