xyzzy で diff を使う
xyzzy で M-x diff と入力すると diff が使えるようだ。しかし外部コマンドの diff がないと怒られる。
パスが通っていそうなところに diff.exe を置いてみても動かないので調べてみると、じぶんで設定できるそうだ http://ohkubo.s53.xrea.com/xyzzy/memo.html#diff
パスが通っていそうなところに diff.exe を置いてみても動かないので調べてみると、じぶんで設定できるそうだ http://ohkubo.s53.xrea.com/xyzzy/memo.html#diff
(setq ed::*diff-command-name* (map-slash-to-backslash (merge-pathnames "bin/diff.exe" (user-homedir-pathname))))
ちなみに diff.exe はここから入手できる
開いているファイルを diff する
たんに M-x diff とすると、ミニバッファ(あるいはそこから開く1画面ファイラ)でファイルをいちいち選ばないといけない。
そこで現在開いているファイル同士を比較する関数を作った。split-window (C-x 2) や split-window-vertically (C-x 5) でウィンドウを分割して作業しているときに便利。二つのウィンドウでそれぞれ比較したいファイルを開き、M-x diff-selected-buffers を実行する。
(defun diff-selected-buffers () (interactive) (let (file1 file2) (setq file1 (get-buffer-file-name (selected-buffer))) (other-window) (setq file2 (get-buffer-file-name (selected-buffer))) (diff file1 file2)))