ksaitoの日記

日々試したことの覚え書き

emacs22以降の初期化ファイル

emacsの初期化ファイルというと$HOME/.emacsでした。
emacs22以降から、ホームディレクトリに.emacs.emacs.elがない場合、$HOME/.emacs.d/init.elを読み込みます。
一つの巨大な.emacsファイルではなく、$HOME/.emacs.d以下に分割した初期化ファイルとして.emacs.dにまとめられるようになっています。
もっともaptからインストールするパッケージは、ほとんどが/etc/emacs/site-start.d下に適切に設定されていることが多いので、ほとんど設定する必要ありませんが...
パッケージされていないelispやパッケージされているけど、どうしても設定が必要なものは、.emacs.dで分割管理するのが良いです。
今のところ、globalのキーバインドとc-modeへのフックくらいでしょうか。
できれば、一行も書かずに使いたいものです。

$ cat ~/.emacs.d/init.el
;;; 設定ファイルの置き場所を定義する
(setq load-path
      (cons (expand-file-name "~/.emacs.d/conf") load-path))

;;; ライブラリのロード
; gtagsのキーバインドとc-modeへのフック
(load "gtags-conf")

$ cat /home/ksaito/.emacs.d/conf/gtags-conf.el
(setq gtags-mode-hook
      '(lambda ()
         (local-set-key "\M-t" 'gtags-find-tag)
         (local-set-key "\M-r" 'gtags-find-rtag)
         (local-set-key "\M-s" 'gtags-find-symbol)
         (local-set-key "\C-t" 'gtags-pop-stack)
         ))

(add-hook 'c-mode-common-hook
          '(lambda()
             (gtags-mode 1)
             (gtags-make-complete-list)
             ))
$