読者です 読者をやめる 読者になる 読者になる

Emacs 24以上を使うなら color-themeではなく、Emacsの themeフレームワークを使おう

emacs color-theme

color-themeでEmacsの見た目をきれいにする - Qiita


Emacs 24以上を使っているという前提があるのですが、独自のテーマを作る場合は
color-themeより、Emacs 24から導入された themeフレームワークを使う
ことをおすすめです。


機能的には変わらないと思うのですが、color-themeをインストール
する必要がないというのがお手軽です。~/.emacs.d以下においておけば、
load-theme関数を使って利用することができます。

サンプル

試しに @さんの molokaiを themeフレームワーク版に
書き換えてみました。コードはほとんど同じです。カーソル等のごく一部の
パラメータの指定が違うのと、各項目を quoteするぐらいです。

(deftheme molokai
  "Molokai color theme")

(custom-theme-set-faces
 'molokai
 ;; 背景・文字・カーソル
 '(cursor ((t (:foreground "#F8F8F0"))))
 '(default ((t (:background "#1B1D1E" :foreground "#F8F8F2"))))

 ;; 選択範囲
 '(region ((t (:background "#403D3D"))))

 ;; モードライン
 '(mode-line ((t (:foreground "#F8F8F2" :background "#000000"
                  :box (:line-width 1 :color "#000000" :style released-button)))))
 '(mode-line-buffer-id ((t (:foreground nil :background nil))))
 '(mode-line-inactive ((t (:foreground "#BCBCBC" :background "#333333"
                           :box (:line-width 1 :color "#333333")))))

 ;; ハイライト
 '(highlight ((t (:foreground "#000000" :background "#C4BE89"))))
 '(hl-line ((t (:background "#293739"))))

 ;; 関数名
 '(font-lock-function-name-face ((t (:foreground "#FFFFFF"))))

 ;; 変数名・変数の内容
 '(font-lock-variable-name-face ((t (:foreground "#FFFFFF"))))
 '(font-lock-string-face ((t (:foreground "#E6DB74"))))

 ;; 特定キーワード
 '(font-lock-keyword-face ((t (:foreground "#F92672"))))

 ;; Boolean
 '(font-lock-constant-face((t (:foreground "#AE81BC"))))

 ;; 括弧
 '(show-paren-match-face ((t (:foreground "#1B1D1E" :background "#FD971F"))))
 '(paren-face ((t (:foreground "#A6E22A" :background nil))))

 ;; コメント
 '(font-lock-comment-face ((t (:foreground "#74715D"))))

 ;; CSS
 '(css-selector ((t (:foreground "#66D9EF"))))
 '(css-property ((t (:foreground "#FD971F"))))

 ;; nXML-mode
 ;; タグ名
 '(nxml-element-local-name ((t (:foreground "#F92672"))))
 ;; 属性
 '(nxml-attribute-local-name ((t (:foreground "#66D9EF"))))
 ;; 括弧
 '(nxml-tag-delimiter ((t (:foreground "#A6E22A"))))
 ;; DOCTYPE宣言
 '(nxml-markup-declaration-delimiter ((t (:foreground "#74715D"))))

 ;; dired
 '(dired-directory ((t (:foreground "#A6E22A"))))
 '(dired-symlink ((t (:foreground "#66D9EF"))))

 ;; MMM-mode
 '(mmm-default-submode-face ((t (:foreground nil :background "#000000")))))

;;;###autoload
(when load-file-name
  (add-to-list 'custom-theme-load-path
               (file-name-as-directory (file-name-directory load-file-name))))

(provide-theme 'molokai)
themeをロードするための設定
(load-theme 'molokai t)
(enable-theme 'molokai)
イメージ

おわりに

まだ Emacs24を使っていない人もいるので、color-themeを完全に
捨て去るというのは難しいかと思いますが、これから新規に作るという
のであれば、Emacsの持つ themeフレームワークを使って themeを作成
した方が良いかと思います。