Next: , Previous: , Up: Files   [Contents][Index]


18.9 ファイルの比較

コマンドM-x diffは、ミニバッファーを使って2つのファイル名の入力を求め、*diff*という名前のバッファーに、2つのファイルの違いを表示します。これはdiffプログラムに、変数diff-switchesで指定されたオプションを指定して実行することにより機能します。diff-switchesには文字列を指定します。デフォルトはcontext出力形式を指定する"-c"です。プログラムについての情報は、Diff in Comparing and Merging Filesを参照してください。

diffコマンドの出力は、Diffモードと呼ばれるメジャーモードを使って表示されます。Diff Modeを参照してください。

コマンドM-x diff-backupは指定したファイルと、そのファイルの一番最近のバックアップを比較します。バックアップファイル名を指定したときは、diff-backupは指定されたバックアップファイルと、それの元となるファイルを比較します。それ以外の点はM-x diffと同じです。

コマンドM-x diff-buffer-with-fileは指定されたバッファーと、それに対応するファイルを比較します。これはバッファーを保存すると、ファイルにどのような変更がされるかを表示します。

コマンドM-x compare-windowsは現在のウィンドウと、次のウィンドウを比較します(Emacsのウィンドウについての詳細は、Windowsを参照してください)。比較はそれぞれのウィンドウのポイント位置から、それぞれのバッファーのポイントの初期位置を、対応するバッファーのマークリングにpushした後に開始されます。それから各ウィンドウのポイントを1文字ずつ前方に移動していきます。文字がマッチしなくなるとコマンドは終了します。

コマンドを開始したとき、2つのウィンドウのポイントの後ろのテキストがマッチしない場合、M-x compare-windowsは2つのウィンドウでマッチするテキストが見つかるまでポイントを進めてから終了します。したがってM-x compare-windowsを繰り返し使うと、毎回1つのマッチする範囲をスキップするか、次の開始点を探します。

数引数を指定すると、compare-windowsは空白文字の違いを無視します。変数compare-ignore-caseが非nilの場合、大文字小文字の違いを無視して比較します。変数compare-ignore-whitespaceが非nilの場合、compare-windowsは通常空白文字の違いを無視して、数引数が指定されたときはそれをオフにします。

M-x smerge-modeを使って、Smergeモードに切り替えることができます。これはdiff3プログラムの出力を編集するマイナーモードです。これは通常、バージョン管理システムと、バージョン管理システムの外での“update”をマージするとき、ファイルへの変更が競合して失敗した結果です。Smergeモードは特定の変更を選択することにより、競合を解決するコマンドを提供します。

ファイルをマージする強力なインターフェースを提供するEmerge機能については、 Emergeを参照してください。