2013年7月7日日曜日

Emacsの設定ファイルを短くする


おはようございます。

.emacs.elとか.emacs.d/init.elは,便利そうなのどんどん追加していくと長くなっていきがちです.
これを複数のファイルに分割して管理する方法を紹介します.
やり方は簡単で,例えば今設定ファイル内のflymake関連の部分を他のファイルに移すことを想定します.
この場合,flymake関連の設定部分を丸々カット&ペーストでsetup-flymake.elなどというファイルに移します.
setup-flymake.elはもちろんパスの通ったところに置いてください.
で,setup-flymake.elの末尾に以下を追記します.
(provide 'setup-flymake)
そしたらinit.el(もしくは.emacs.el)に以下を書きます.
(require 'setup-flymake)
これだけです.

もしくはprovideの部分とか書かずに, 以下のやり方でいけるのかもしれません.
(load "setup-flymake")
この場合の"setup-flymake"はファイル名を意味しています.
僕は前者のやり方です.

こんな感じです.

追記:

Emacs起動時に全ての設定を読み込むんじゃなくて,ある特定のメジャーモードの時に設定ファイルを読み込むっていうこともできます.
例えばcc-modeを使うときだけsetup-cc-modeを読み込むには以下のようにします.
(eval-after-load 'cc-mode '(require 'setup-cc-mode))
tex-modeとかのメジャーモードごとに設定すればいいと思います.
この方がEmacsの起動時間が早くなることが期待できます.

さらに追記:

各セットアップファイルがお互い依存していると,eval-after-load使ったやり方では上手く動かないことがあるので注意が必要です.(例えばsetup-cc-mode.elでflymakeの呼び出しがあったりとか )
僕もそうですが,lispあんまり分からない人は最初のやり方でやっておくのが無難かもしれません.

0 件のコメント :

コメントを投稿