2009年11月21日
設定ファイルの整理 - Emacs 編
zsh に続き、Emacs の設定を整理しました。Emacs の設定もかなり垢が溜まっていることが予想されます。
Emacs を使い始めたのは 1996年頃だったと思います。zsh と同様、emacs の設定ファイルもここ数年は放置状態でした。ひさびさに見てみると、やはり垢だらけでした。
(defun support-color-p ()
(or (eq window-system 'x)
(>= (string-to-number emacs-version) 21)))
(when (support-color-p)
(cond ((eq window-system 'x)
(set-face-foreground 'region "DarkSlateBlue")
(set-face-background 'region "#ddccff")
(set-face-foreground 'highlight "DarkSlateGray")
(set-face-background 'highlight "PaleGreen")
(set-face-bold-p 'highlight t)
(set-face-bold-p 'region t)
(set-face-foreground 'modeline "#222266")
(set-face-background 'modeline "#ccccff"))
(t ; terminal
(set-face-foreground 'default "black")
(set-face-foreground 'region "blue")
(set-face-background 'region "cyan")
(set-face-foreground 'highlight "white")
(set-face-background 'highlight "green")
(set-face-bold-p 'highlight t)
(set-face-bold-p 'region t)
(set-face-foreground 'modeline "yellow")
(set-face-background 'modeline "blue")))
設定ファイルにありがちな色の設定です。大昔に設定されたものと思われます。デフォルトの色で問題ないので、これらは削除です。
(autoload 'wl "wl" "Wanderlust" t) (autoload 'wl-other-frame "wl" "Wanderlust on new frame." t) (autoload 'wl-draft "wl-draft" "Write draft with Wanderlust." t) (setq mime-edit-split-message nil) ;; Don't split attachments
以前は Wanderlust を使ってメールを読んでいましたが、最近はブラウザで読むので使わなくなりました。
ちなみに、 Wanderlust は、~/share/emacs 以下に自分でインストールしたものを使っていました。Linux や Mac などのいろいろなマシンで、共通の Emacs の環境を簡単にコピーして使えるよう、~/share/emacs にいろいろつっこんでありました。
~/share/emacs を見ると、以下のようなものがありました。
apel bitmap egg elib emu flim liece lookup lsdb mule-ucs riece sdic semi wl
このうち、現在でも使っているものは Lookup くらいなので、その他のファイルは削除することにしました。Lookup は Emacs 上で辞書を引くためのツールで、おそらく 1998 年頃から使っています。
(autoload 'python-mode "python-mode")
(add-to-list 'auto-mode-alist '("\\.py$" . python-mode))
昔の Emacs には python-mode が含まれていなかったので、python-mode.el を自分で入れていたようです。Emacs 22 には python.el が標準で含まれているのでもはや不要な設定です。
(autoload 'ruby-mode "ruby-mode" "Major mode for ruby files" t)
(add-to-list 'auto-mode-alist '("\\.rb$" . ruby-mode))
一方、ruby-mode はまだ Emacs に含まれていないようなので、キープです。
まとめ
この他にも、自分で定義してぜんぜん使っていなかった関数などをばっさり削除して、だいぶすっきりしました。物置の大掃除をしたような気分です。