同じ.emacsを異なる環境で使い回すコツ

社内の雑談でdotfileを家と会社で共有するには、というような話題が出ました。Subversion管理しておくと何だかんだ言っても楽じゃない?みたいな話だったのですが、それ以前に共有できるような設定ファイルを書くのは少しコツがあるように思います。.bashrcなんかもそうでしょうけど、僕は.emacsも少しコツがあると思います。

というのは、requireの方法に関してです。よく下記のような設定例があると思うんですけど、これだと.elファイルが無い環境では.emacsの解釈途中でエラーで止まっちゃうんですよね。

(require 'twittering-mode)
(setq twittering-username "hnw"
      twittering-timer-interval 75)
(add-hook 'twittering-mode-hook
          (lambda () (twittering-icon-mode))))

.emacsを共有しようとする全サーバに同じ.elファイルを用意できればいいですけど、そうとは限らなかったりします。インストール直後のサーバに.emacsを持って行って、慣れた設定でファイル編集しようと思ったらエラー!なんてちょっと我慢できませんよね。

でも奥さん、そんなときでも安心。なんとこんな手があるんです。

(when (require 'twittering-mode nil t)
  (setq twittering-username "hnw"
        twittering-timer-interval 75)
  (add-hook 'twittering-mode-hook
            (lambda () (twittering-icon-mode))))

requireのoptionalな第3引数をnon-nilにすればエラーで止まらなくなります。ハイ、それだけなんです。これでお父さんもニコニコ、家庭円満まちがい無しですね!とまあ、複数マシンで.emacsを使いたい人には必須の知識ではないでしょうか。

なんだか最近Emacsネタ連発ですけど、株式会社ディノではvim好きもEclipse好きも大歓迎です。と念のため宣伝しておきます。

コメント / トラックバック 1 件

#1 session.el + minibuf-isearchが便利すぎる 2008/09/26 23:09

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

コメントする