session.el + minibuf-isearchが便利すぎる

毎回便利なEmacs Lispをチマチマ紹介していますが、今回ご紹介するsession.elも優れものです。挙動が地味なので素晴らしさが伝わらないかもしれないと危惧していますが、Emacs使いの人は騙されたと思って使ってみてください。

更に言うと、session.el単体だと「少し便利かな」くらいなんですけど、minibuf-isearchと組み合わせると並外れて便利になります。

この組み合わせで使っているEmacs使いは多いと思うのですが、意外と知名度が低い気がしたので改めて紹介します。

session.elは、ざっくり言うとミニバッファの履歴をファイルに保存するものです。つまり、Emacsを終了しても、次回起動時にC-x C-fの履歴が復元されます。M-x grepの履歴や、kill-ring、検索/置換の履歴、各ファイルにおけるカーソル位置なども保存されるので、Emacsを終了させることが怖くなくなります。

ミニバッファ内のM-nやM-pで辿れる履歴をファイルに保存するLisp、といえば伝わるでしょうか。

minibuf-isearchは、ミニバッファ内でC-rによる検索を有効にするものです。具体的には、M-pで辿るかわりに、C-rでインクリメンタルサーチできるようになります。これがあって初めてsession.elの恩恵を100%受けられると言えます。

というのも、session.elで履歴が何個増えようともM-pを連打する回数には限界がありますから、単体で使う分には「がんばってEmacsを終了させない」状態と大差ありません。ところが、minibuf-isearchと併用することで劇的に使い勝手が良くなります。1ヶ月前に使ったファイル名の一部分をタイプするだけで開きたいファイルが開ける、というのはこの組み合わせでしか有り得ないのではないでしょうか。最近では慣れてしまいましたが、最初はかなり感動しました。

session-el.png

インストール

まず、下記のサイトから.elファイルを取得し、自分用のelファイル置き場(~/lib/emacs/の下など)に保存します。毎度の注意点ですが、いま初めてel置き場を作った人はload-pathの設定もお忘れなく。

あとは.emacsにdotemacs-session-el.txtの内容を貼り付ければ設定完了です。ちなみに、「同じ.emacsを異なる環境で使い回すコツ」のテクニックを使っています。万一elファイルのインストールに失敗していてもエラーは出ませんので、ご注意ください。

慣れるまでは戸惑いもありましたが、今ではファイルを開くときにC-x C-f C-rまでがワンセットになっているほどです。是非お試しください!

コメント / トラックバックはありません

コメントする