文書比較


 2つのテキストファイルを行単位で比較し、差分をわかりやすく表示します。簡単なキー操作で不一致部分に移動する、相手文書の対応する位置にジャンプする、削除または更新された部分を相手ファイルの状態にすることができます。

 差分抽出処理には O(NP) アルゴリズム使用しているので、非常に高速です。(文書比較アルゴリズム 参照)

■ 差分抽出

 比較を行う2つのファイルを指定して、ファイル比較を行います。その方法には以下の2種類があります。

  1. 比較する2つのファイルをオープンし、「検索」-「文書比較」または
      :diff Return
    を実行する。
  2. 比較したいファイルの一方を開き、
      :diff 比較対象ファイル名
      :diff 比較対象ファイルの存在するディレクトリ名
    を実行する。

 前者の方法を使用する場合、「ウィンドウ」-「2つを左右に並べる」または :ti[le] を実行すると比較するファイルがどれなのかがよく分かります。

 後者の方法で、ディレクトリ名を指定すると、 比較元ファイルと同じファイル名のものとの比較を行います。

■ 差分の表示

 差分は行単位で求められ、背景の色をタイプ別プロパティのカラータブで設定した色で表示するので、一目瞭然です。削除、更新の場合は、行頭に + ! の記号も表示します。

 たとえば、

file1:                   file2:
        aaaa                     aaaa
        bbbb                     cccc
        cccc                     ====
        dddd                     dddd
        eeee                     xxxx
        ffff                     ffff

の場合、file1 の "bbbb" が削除され、"====" が挿入され、"eeee" が "xxxx" に変更されているので、

file1:                   file2:
        aaaa                     aaaa
      + bbbb                     cccc
        cccc                   + ====
        dddd                     dddd
      ! eeee                   ! xxxx
        ffff                     ffff

と表示されます。

 差分表示は何らかの編集操作を行うと消えます。メニューの「検索」-「比較結果をクリア」でも消去できます。

■ ファイル内での移動、対応行への移動

 文書比較後に Alt + F10 で次の一致・不一致箇所にジャンプできます。先の例では file1 の "aaaa" の位置にカーソルがある場合に Alt + F10 を押すと、次の不一致箇所である "bbbb" にジャンプします。

 Alt + F11 は比較先文書の対応する位置にジャンプします。file1 の "eeee" にカーソルを合わせ、Alt + F11 を押してみてください。file2 の "xxxx" にジャンプするでしょ。

■ 相手ファイルの状態に合わせる

 変更箇所にカーソルを合わせ Alt + F12 を押すと、その部分を比較相手の状態にします。file1 の "eeee" にカーソルを合わせ、Alt + F12 を押してください。"xxxx" に置き換わるはずです。