2009-12-27 106 views
4

vimdiff有助於以圖形方式顯示兩個文件的差異,並允許我們從左至右/從右至左選取更改。
我正在處理的文件是巨大的文件,大部分的差異vimdiff報告可以自動合併,只有少數幾個。因爲花費大量時間在vimdiff中比較差異並採取行動。
vimdiff作爲合併工具

我想知道vimdiff中是否有可用的選項自動合併左右文件中的差異,只要不存在歧義並使衝突的分辨率與工具類似svn merge和cvs merge工具?

回答

4

無法自動合併兩個文件中的更改,除非我們有一個基本副本,其中這兩個文件分支並單獨更改完成。如果一個項目在一邊而不在另一邊,它不能判斷這個項目是新添加的還是已刪除的項目。由於在合併存儲庫中的文件時存在基本副本,所以cvs合併,svn合併可以自動合併更改。

0

看起來像vimdiff不允許。手冊頁說:
「方面Vimdiff - 用Vim編輯一個文件的兩個或者三個版本並顯示差異」

但是你可以看看Kdiff3它可以讓你比較和合並。

3

如果你不使用版本控制,你可以試試diff和patch這樣:

  1. 改變你的文件(比如說,file.txt的)之前,使原始版本的備份(file.orig) 。
  2. 更改後,創建一個補丁文件:diff file.orig file.txt >patch.txt
  3. 獲取要將合併更改(如file2.txt)的文件。
  4. 使用補丁:patch file2.txt patch.txt

變化將被合併,衝突的行會被放置在一個單獨的文件。

+0

這看起來不錯。這種方法的任何缺點。 – Gagan 2014-11-12 09:26:43

+0

它工作得很好,謝謝那些我剛剛學到的東西! – soyuka 2014-12-03 09:19:58