emacs on mac 設定

今日はmacにインストールしたCarbon Emacsの設定を少しいじった。

uniquifyの設定

emacsで異なるディレクトリ以下の同名のファイルを開くと、デフォルトでは、ファイル名の後ろに<1>とか<2>といったプレフィックスが付いたバッファ名になる。例えば、僕は論文のTexデータはディレクトリごとに管理してあり、メインとなるソースファイルはディレクトリ以下にmain.texという名前を付けてある。そのため、最新の論文を書いているときに、過去の論文のソースファイルを参照しようとemacsで開いていくと、

main.tex<1>    main.tex<2>    main.tex<3>

と言った名前のバッファが作られ、どれがどれだがわからなくなってくる。
そこで、今回導入したのがuniquifyというemacs lispcarbon emacsには最初から付属してくる。以下のように設定すると、同名のファイルの識別に連番数字ではなく、ディレクトリ名を使うようになり、バッファの識別が容易になる。

(require 'uniquify)
(setq uniquify-buffer-name-style 'post-forward-angle-brackets)

こんな感じ。

main.tex<2007_08_swopp>    main.tex<2007_09_jssst>    main.tex<2008_03_ipsj>

以下のページを参考にした。
http://q.hatena.ne.jp/1137478760#a471912

kill-summary.elの導入

http://mibai.tec.u-ryukyu.ac.jp/~oshiro/Programs/elisp/kill-summary.el
これも有名どころだけど、過去のコピーした文字列の履歴を一覧表示し、簡単に選択ペーストできるようにしてくれるemacs lisp。最初ダウンロードしてロードパスの通っている場所に置いてもエラー起きて使用できなかった。ネットで検索したところ、「truncate-string」を「truncate-string-to-width」に変更すれば良いということがわかり、そこを修正したら無事動いた。
以下設定手順。
今回Carbon Emacs用にemacs lispを初めてダウンロードしたので、自分用のemacs lispディレクトリを作り、ロードパスを通した。

(setq load-path
      (append
       (list (expand-file-name "~/.emacs.d/lisp")) load-path))

.emacsにkill-summary.el用の設定を記述。

(autoload 'kill-summary "kill-summary" nil t)
(define-key global-map "\ey" 'kill-summary)

念のため、kill-summary.elをバイトコンパイルCarbon Emacsでkill-summary.elを開き、メニューの「Emacs-Lisp」から「Byte-compile This File」を選択。Warningがたくさん出たが放置。
こちらのページが参考になった。タイトルがちょっと似てる。
http://ylupin.blog57.fc2.com/blog-entry-2238.html