Emacs ediffでファイルの一部分を相互比較

2007–11–15

ファイル全部じゃなくて選択した部分だけ比較したいって時に、 Emacsに標準でついてるediffが便利なのに気づいた。 用途としては、あるクラスの、あるメソッドだけを相互に比較したいとか。 その名も

  • ediff-regions-wordwise
  • ediff-regions-linewise

ediff-regions-wordwiseはword単位、 ediff-regions-linewiseは行単位で比較結果を表示してくれる。

使い方は簡単。 まず M-x ediff-regions-wordwise とした後、比較対象のバッファを2つ指定する。 (事前に比較するファイルを開いておく必要あり) その後、それぞれのバッファが開くので、コピーするときと同じ要領で C-SPACE と M-w で比較対象となる部分を選択。 選択後は C-M-c を押す。

欲しかったけど意外となかった機能じゃないかな。 地味な機能かもしれないけど、これでorg-mode以外にEmacsから離れられない理由ができてしまった。