亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 操作系統 > 正文

Vimdiff---VIM的比較和合并工具

2024-06-28 13:24:15
字體:
來源:轉載
供稿:網友
Vimdiff---VIM的比較和合并工具

本文來自IBMDW http://www.ibm.com/developerworks/cn/linux/l-vimdiff/

源程序文件(通常是純文本文件)比較和合并工具一直是軟件開發過程中比較重要的組成部分。現在市場上很多功能很強大的專用比較和合并工具,比如 BeyondCompare;很多IDE 或者軟件配置管理系統,比如Eclipse, Rational ClearCase都提供了內建的功能來支持文件的比較和合并。

當遠程工作在Unix/Linux平臺上的時候,恐怕最簡單而且到處存在的就是命令行工具,比如diff??上iff的功能有限,使用起來也不是 很方便。作為命令行的比較工具,我們仍然希望能擁有簡單明了的界面,可以使我們能夠對比較結果一目了然;我們還希望能夠在比較出來的多處差異之間快速定 位,希望能夠很容易的進行文件合并……。而Vim提供的diff模式,通常稱作vimdiff,就是這樣一個能滿足所有這些需求,甚至能夠提供更多的強力 工具。在最近的工作中,因為需要做很多的文件比較和合并的工作,因此對Vimdiff的使用做了一個簡單的總結。我們先來看看vimdiff的基本使用。

啟動方法

首先保證系統中的diff命令是可用的。Vim的diff模式是依賴于diff命令的。Vimdiff的基本用法就是:

# vimdiff  FILE_LEFT  FILE_RIGHT

或者

# vim -d  FILE_LEFT  FILE_RIGHT

圖一就是vimdiff命令的執行結果的畫面。

圖1

從上圖我們可以看到一個清晰的比較結果。屏幕被垂直分割,左右兩側分別顯示被比較的兩個文件。兩個文件中連續的相同的行被折疊了起來,以便使用者能把注意力集中在兩個文件的差異上。只在某一文件中存在的行的背景色被設置為藍色,而在另一文件中的對應位置被顯示為綠色。兩個文件中都存在,但是包含差異的行顯示為粉色背景,引起差異的文字用紅色背景加以突出。

除了用這種方法啟動vim的diff模式之外,我們還可以用分割窗口命令來啟動diff模式:

# vim FILE_LEFT

然后在vim的ex模式(也就是"冒號"模式)下輸入:

:vertical diffsplit FILE_RIGHT

也可以達到同樣的效果。如果希望交換兩個窗口的位置,或者希望改變窗口的分割方式,可以使用下列命令:

1. Ctrl-w K(把當前窗口移到最上邊)2.Ctrl-w H(把當前窗口移到最左邊)3.Ctrl-w J(把當前窗口移到最下邊)4.Ctrl-w L(把當前窗口移到最右邊)

其中1和3兩個操作會把窗口改成水平分割方式。

接下來試試在行間移動光標,可以看到左右兩側的屏幕滾動是同步的。這是因為"scrollbind"選項被設置了的結果,vim會盡力保證兩側文件的對齊。如果不想要這個特性,可以設置:

:set noscrollbind

可以使用快捷鍵在各個差異點之間快速移動。跳轉到下一個差異點:

]c

反向跳轉是:

[c

如果在命令前加上數字的話,可以跳過一個或數個差異點,從而實現跳的更遠。比如如果在位于第一個差異點的行輸入"2]c",將越過下一個差異點,跳轉到第三個差異點。

文件比較的最終目的之一就是合并,以消除差異。如果希望把一個差異點中當前文件的內容復制到另一個文件里,可以使用命令

dp (diff "put")

如果希望把另一個文件的內容復制到當前行中,可以使用命令

do (diff "get",之所以不用dg,是因為dg已經被另一個命令占用了)

如果希望手工修改某一行,可以使用通常的vim操作。如果希望在兩個文件之間來回跳轉,可以用下列命令序列:

Ctrl-w, w

在修改一個或兩個文件之后,vimdiff會試圖自動來重新比較文件,來實時反映比較結果。但是也會有處理失敗的情況,這個時候需要手工來刷新比較結果:

:diffupdate

如果希望撤銷修改,可以和平常用vim編輯一樣,直接

<ESC>, u

但是要注意一定要將光標移動到需要撤銷修改的文件窗口中。

在比較和合并告一段落之后,可以用下列命令對兩個文件同時進行操作。比如同時退出:

:qa (quit all)

如果希望保存全部文件:

:wa (write all)

或者是兩者的合并命令,保存全部文件,然后退出:

:wqa (write, then quit all)

如果在退出的時候不希望保存任何操作的結果:

:qa! (force to quit all)

上下文的展開和查看

比較和合并文件的時候經常需要結合上下文來確定最終要采取的操作。Vimdiff 缺省是會把不同之處上下各 6 行的文本都顯示出來以供參考。其他的相同的文本行被自動折疊。如果希望修改缺省的上下文行數,可以這樣設置:

:set diffopt=context:3

可以用簡單的折疊命令來臨時展開被折疊的相同的文本行:

zo (folding open,之所以用z這個字母,是因為它看上去比較像折疊著的紙)

然后可以用下列命令來重新折疊:

zc (folding close)

下圖是設置上下文為3行,并展開了部分相同文本的vimdiff屏幕:

結論

在無法使用圖形化的比較工具的時候,或者在需要快速比較和合并少量文件的時候,Vimdiff是最好的選擇。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩欧美国产黄色| 九九热r在线视频精品| 岛国av在线不卡| 91精品国产色综合久久不卡98| 日韩亚洲精品视频| 136fldh精品导航福利| 欧美性受xxxx黑人猛交| 国产福利视频一区| 亚洲国产精品久久久| 大胆人体色综合| 伊人久久大香线蕉av一区二区| 亚洲欧美资源在线| 久久亚洲精品网站| 国产主播在线一区| 亚洲男人天堂网站| 精品少妇v888av| 国外色69视频在线观看| 97在线视频观看| 免费成人高清视频| 久久久av一区| 久久久久久国产三级电影| 欧美激情一区二区三区久久久| 欧美日韩免费在线观看| 国产精品99久久久久久白浆小说| 国语自产精品视频在线看一大j8| 欧美老女人性视频| 日韩美女免费观看| 欧美一级视频在线观看| 91国自产精品中文字幕亚洲| 亚洲精品乱码久久久久久按摩观| 91在线观看免费| 欧美日韩中国免费专区在线看| 欧美成人精品在线视频| 精品五月天久久| 欧美激情乱人伦一区| 久久久久中文字幕2018| 91av国产在线| 国产日本欧美视频| 精品国产美女在线| 欧美在线视频网站| 精品成人乱色一区二区| 色综合久久悠悠| 色妞在线综合亚洲欧美| 日韩成人在线播放| 色综久久综合桃花网| 国产亚洲在线播放| 国产精品海角社区在线观看| 亚洲精品av在线播放| 欧美日本高清一区| 欧美在线视频免费播放| 国产一区二区三区毛片| 久久国产一区二区三区| 亚洲资源在线看| 97在线看福利| 亚洲天堂男人的天堂| 国产中文欧美精品| 日本精品视频网站| 久久精品国产2020观看福利| 97国产精品人人爽人人做| 国产aⅴ夜夜欢一区二区三区| 欧美一级电影在线| 亚洲国产精品久久久久秋霞不卡| 国产精品你懂得| 国产精品久久久久久影视| 蜜臀久久99精品久久久无需会员| 日韩电影免费在线观看| 九九热这里只有精品免费看| 亚洲国产黄色片| 亚洲欧洲一区二区三区久久| 亚洲精品免费一区二区三区| 久久久噜噜噜久噜久久| 国产欧美 在线欧美| 欧洲s码亚洲m码精品一区| 亚洲一区二区三区香蕉| 日韩美女在线观看一区| 九九九久久久久久| 成人亲热视频网站| 亚洲欧美国产va在线影院| 国产精品入口福利| 正在播放国产一区| 在线观看国产成人av片| 欧美日韩国产精品一区| 久久久久九九九九| 国产日韩欧美黄色| 国产成人福利网站| 日韩精品视频观看| 亚洲精品成人久久久| 欧美情侣性视频| 日韩精品极品视频免费观看| 亚洲欧洲自拍偷拍| 91亚洲精品视频| 精品久久久久久中文字幕一区奶水| 岛国av午夜精品| 亚洲跨种族黑人xxx| 久久精品99久久久久久久久| 欧美成人免费小视频| 欧美大片在线看免费观看| 久热精品视频在线观看一区| 欧洲亚洲免费视频| 国内揄拍国内精品少妇国语| 欧美成人黄色小视频| 深夜福利91大全| 亚洲日本中文字幕免费在线不卡| 亚洲精品一区av在线播放| 91免费版网站入口| 欧美日韩中文字幕在线| 97精品欧美一区二区三区| 欧美黑人xxxⅹ高潮交| 在线精品91av| 在线丨暗呦小u女国产精品| www.日韩av.com| 欧美国产日韩在线| 久久久人成影片一区二区三区观看| 国产999精品久久久影片官网| 日韩在线观看你懂的| 亚洲欧美成人网| 日韩精品视频在线播放| 97视频在线播放| 亚州国产精品久久久| 亚洲一区二区国产| 日韩在线视频二区| 久久精品久久久久久国产 免费| 久久精品亚洲精品| 日韩精品在线观看视频| 91沈先生在线观看| 庆余年2免费日韩剧观看大牛| 欧美激情精品久久久久久| 亲爱的老师9免费观看全集电视剧| 亚洲第五色综合网| 国产午夜精品一区理论片飘花| 国产精品日韩欧美大师| 国产视频在线观看一区二区| 亚洲深夜福利视频| 欧美xxxx综合视频| 成人日韩在线电影| 蜜臀久久99精品久久久久久宅男| 成人h视频在线| 国产精品色午夜在线观看| 欧美日韩裸体免费视频| 亚洲精品国产成人| 欧美主播福利视频| 国产精品丝袜久久久久久高清| 国产成人欧美在线观看| 久久精品视频va| 91视频-88av| 一本色道久久88精品综合| 国产成人自拍视频在线观看| 亚洲精品白浆高清久久久久久| 亚洲国产精品久久久久秋霞蜜臀| 国产日本欧美视频| 在线播放精品一区二区三区| 亚洲福利小视频| 51午夜精品视频| 日韩电影免费观看在线| 亚洲综合第一页| 国产偷亚洲偷欧美偷精品| 中文字幕久精品免费视频| 亚洲精品电影久久久| 国产69精品久久久| 中文字幕亚洲欧美日韩2019| 一本一本久久a久久精品综合小说| 国产亚洲欧洲在线| 欧美老少配视频| 国产女精品视频网站免费|