Emergeを開始するには、以下の4つのコマンドの1つを実行します:
指定した2つのファイルをマージします。
共通の祖先(ancestor)を参照して、指定した2つのファイルをマージします。
2つのバッファーをマージします。
第3のバッファーにある共通の祖先を参照して、2つのバッファーをマージします。
Emergeコマンドは2つのファイルまたはバッファーを比較して、3つのバッファーにそれ表示します。最初の2つは入力テキスト(AバッファーとBバッファー)で、残りの1つ(マージバッファー)はどこにマージが行われたかを表示します。マージバッファーは相違だけではなく、マージされたテキストをすべて表示します。2つの入力テキストが異なる場所では、どちらをマージバッファーに含めるか選択できます。
既存のバッファーから入力を得るEmergeコマンドは、そのバッファーがナローされている場合は、バッファーのアクセス可能な部分だけを使用します。 ナローイングを参照してください。
2つのマージされるテキストの元となる、共通の祖先となるバージョンが利用可能な場合は、Emergeはどちらが正しい候補かを推測するために、それを使用することができます。一方のカレントバージョンが祖先に一致する場合、Emergeはもう一方のカレントバージョンが、マージされたバージョンに残すべき、意図した変更であると仮定します。共通の祖先となるテキストを指定したい場合は、‘with-ancestor’がつくコマンドを使用します。これらのコマンドは3つのファイルまたはバッファーの名前 — バージョンA、バージョンB、そして共通の祖先の名前を読み取ります。
比較が終了してバッファーの準備ができた後、対話的なマージが開始されます。マージバッファーで特別なマージコマンドをタイプすることにより、マージを制御できます(マージコマンドを参照してください)。入力テキストの相違それぞれにたいして、どちらを残すか、または両方編集するか選択することができます。
マージバッファーはこれらの選択を行うために、Emergeモードという特別なメジャーモードを使用します。しかし、そのバッファーでは通常のEmacsコマンドで編集することもできます。
常にEmergeの注目は、選択された相違と呼ばれる、特定の相違に焦点を置きます。この相違は、3つのバッファーで以下のようにマークされます:
vvvvvvvvvvvvvvvvvvvv text that differs ^^^^^^^^^^^^^^^^^^^^
Emergeはすべての相違に順番に番号をふり、モードラインには選択された相違の番号が常に表示されます。
マージバッファーは通常、バージョンAのテキストで開始されます。しかしバージョンAの相違が共通の祖先と一致する場合、その相違の初期値にはバージョンBが優先されます。
マージバッファーを抜けるとき、Emergeはマージされたテキストを残します。このとき、C-x
C-wで、それをファイルに保存できます。emerge-files
またはemerge-files-with-ancestor
に数引数を与えた場合、ミニバッファーを使用して、出力するファイル名を読み取ります(これは、このコマンドが読み取るファイル名の最後のファイル名です)。その後Emergeから抜けると、マージされたテキストを出力ファイルに保存します。
通常、Emergeコマンドは終了するとき出力バッファーを、そのバッファーのファイルに保存します。EmergeをC-]で中断した場合、Emergeコマンドは出力バッファーを保存しませんが、もし保存したいときは自分で保存することができます。