2013年1月30日水曜日

Emacsのcustomizeを使う

Emacsというのは相変わらず.emacsファイルをガシガシ書くのが主流なのだろうか。 私は最近の事情に疎いのでよくわからない。

最近になってAnythingというのを知り、使い始めるようになったぐらいである。 最初インストールすると過激なぐらいデフォルトの挙動がAnything化されてしまい、いささか驚いてしまった。最初は頑張ってその状態で使っていたけれど あまりにも変貌しているので頭がくらくらしてきた。 結局、今は C-x b にanything for filesをアサインしているだけという 控えめな状態で使っている。Macで使う場合、Spotlightと機能的に少しかぶっている気もするけれど。

M-x customize

というわけで、EmacsのM-x customizeというのも最近になって使い始めたのだが、 これも当たり前のことなんだろうか。 今までほとんど無視してきたが、いざ使ってみると思いの外便利で 使ってこなかったことを後悔した。 Emacsユーザーというのは.emacsファイルにゴリゴリ設定を書くというのが普通というイメージだったのだが、 実際のところcustomizeはどの程度使われているものなんだろう。 というわけで知っている人には当然のことであろうが 自分なりに気づいた点を書いてみる。

専用の設定ファイルを用意する

今までcustomizeをなんかやだなーと思っていたのは .eamcsファイルを勝手に書き換える点だったかもしれない。 例えば次のように書いておけば
(setq custom-file "~/.emacs-custom")
(load-file custom-file)
customizeで変更した内容は 別ファイルに保存できるので精神衛生上良い。

簡易マニュアル代わり

customizeを使って設定を変更する場合、customizeバッファ上にその設定に関する説明が表示されていることが普通である。さらに設定値の候補までリストアップされるため、パッケージで何ができるか作者が何を意図しているかを把握しやすい。 org-modeを使い始めた時、これを実感した。 org-modeの場合、M-x org-customizeが 用意されているぐらいであり、customizeを使えというメッセージが 作者から伝わってくる。 

faceの変更

Emacsのテキストカラーを変更することがぐっと楽になる。変更したい文字上にカーソルをおいて M-x customize-face するとそこで使われているfaceのcustomize画面へ移動できる。 

反映が簡単

customizeを使わないでEmacsの設定を変更する場合によくあるパターンは、まずは scratchバッファや.emacsファイルにlispを書いてevalしたりeval-expressionして設定の変更をしてみる。その結果が望み通りになれば、正式に.emacsへ記載するという流れだろう。

しかしcustomizeを使う場合、 M-x customize を実行して好きな設定に書き換えて C-x C-sすれば 即座に反映されて設定ファイルに保存される。 Save for futue sessionsというボタンを押下しても いいが、通常のファイル保存のショートカットだけでできる点はとてもEmacs的な美しさであり、激しく便利である。

もちろんcustomizeに対応していないlispパッケージの場合、やはり.emacsを編集するしかないけれど、今時のものであれば、たいてい使えるような気がする。

という感じでまた何か思い出したら書きます。


0 件のコメント:

コメントを投稿