ksaitoの日記

日々試したことの覚え書き

emacsのediff

ファイルをマージするときにemacsのediff-mergeが便利です。

テストデータの準備

適当に差分のあるファイルを準備します。

$ for i in `seq 1 10`
> do
> echo $i
> done > test1.txt
$ for i in `seq 1 2 20`
> do
> echo $i
> done > test2.txt
$

emacsのediff-mergeでマージするファイルを開く

emacsを起動してM-x ediff-mergeと入力します。
マージするファイルを2回聞いてくるので、text1.txtとtest2.txtを、それぞれ指定します。
最初のファイルがA、2つ目のファイルがBと覚えておきます。
Aが右上、Bが左上、下にマージ結果のバッファです。

ediff-mergeの操作

'n'で次の差分、'p'で前の差分に移動します。
差分を選択して'a', 'b'のいずれかを押すことでマージ結果に採用する修正が反映されます。
'q'を押すとediff-mergeモードを終了するのでマージ結果を手動で直すことができます。