diffview 20150928.2211(in MELPA)
View diffs in side-by-side format

概要

unified diffは、side by sideで見るとわかりやすいです。

diffview.el はそれを行ってくれます。

M-x diffview-current はカレントバッファ全体、
M-x diffview-region はregionをside by sideで表示しますが、
本設定では M-x diffview-dwim で統合しています。

side by sideで表示された状態において、
スクロールは双方のバッファで連動していて、
qでその状態を終了します。

これらのコマンドはパッチが含まれていれば使えるので、
たとえばmagitやvcのコミットバッファでも使えます。

とはいえmagitならば M-x magit-ediff でediff表示もできますが…

20150926171832.png
Fig1: diffを表示してる状態で

20150926171836.png
Fig2: M-x diffview-dwimでわかりやすく表示

インストール

パッケージシステムを初めて使う人は
以下の設定を ~/.emacs.d/init.el の
先頭に加えてください。

(package-initialize)
(setq package-archives
      '(("gnu" . "http://elpa.gnu.org/packages/")
        ("melpa" . "http://melpa.org/packages/")
        ("org" . "http://orgmode.org/elpa/")))

初めてdiffviewを使う方は
以下のコマンドを実行します。

M-x package-install diffview

アップグレードする方は、
以下のコマンドでアップグレードしてください。
そのためにはpackage-utilsパッケージが必要です。

M-x package-install package-utils (初めてアップグレードする場合のみ)
M-x package-utils-upgrade-by-name diffview

設定 150926171234.diffview.el(以下のコードと同一)

(require 'diffview)
(defun diffview-dwim ()
  (interactive)
  (if (region-active-p)
      (diffview-region)
    (diffview-current)))

実行方法

$ wget http://rubikitch.com/f/150926171234.diffview.el
$ emacs -Q -f package-initialize -l 150926171234.diffview.el


本日もお読みいただき、ありがとうございました。参考になれば嬉しいです。