標籤:style blog color io 使用 sp 檔案 div 2014
學習了一段時間的Vim,直到最近才發現Vim的diff功能是如此方便,對比代碼變化再也不用到處去找diff軟體或者依靠版本控制的diff了。強大的Vim。
是我在macVim中的diff效果。
下面是vimdiff的常見用法,總結了一下,不仔細看一遍手冊,在各種情境下還真不一定能馬上想到最合適的命令。
在終端中直接以diff模式開啟Vim:
1 vimdiff file1 file2 [file3 [file4]] #或者2 vim -d file1 file2 [file3 [file4]]
使用GUI(gVim)的話:
1 gvimdiff file1 file2 [file3 [file4]]2 3 #或者4 5 vim -d -g file1 file2 [file3 [file4]]
mac使用者使用macVim的話如下,這是vim doc中沒有提到的:
1 mvim -d -g file1 file2 [file3 [file4]]
上面的操作將會用vertical分割的方式開啟檔案進行diff,如果要使用水平分割,可以加入參數-o
1 vimdiff -o file1 file22 3 #或者如下,gvim和macvim類推4 5 vim -d -o file1 file2
前面是使用diff模式直接開啟Vim的方法,如果已經在Vim中要啟用diff模式,則使用以下命令:
1 :diffs[plit] {filename} #在當前視窗分割,載入另一個檔案filename進行diff2 3 :difft[his] #將當前檔案加入diff4 5 :diffp[atch] {patchfile} #將buffer中的檔案載入當前視窗進行diff
以上操作都可以加入 vimdiff 的其他 -options。
如果在載入檔案時要使用縱向分割,可以加上vert首碼命令:
1 :vert diffs file2.txt
檔案改動後,要重新整理diff,可以使用diffupdate命令
1 :diffu[pdate] #更新diff2 3 :diffu[pdate] ! #對所有檔案更新diff
在diff中的跳轉:
1 ] c #下一個不同2 [ c #上一個不同
在diff模式中,要關閉diff模式返回正常模式,可以使用diffoff命令:
1 :diffo[ff] #將目前檔案退出diff模式2 3 :diffo[ff]! #將目前視窗中的所有檔案退出diff模式
以上就是常用的vimdiff命令和方法,還有很多複雜的命令沒有研究和列舉,例如diffexpr, diffcopying 等等,功能就更加強大了。
在版本檔案中隨意切換、diff和跳轉查看變更,在Vim中就是如此簡單!
vimdiff: 使用Vim中強大的檔案diff功能[轉]