5

Windows8でemacs24.3を使用しています。マーマレードリポジトリからsolarizedcolorテーマをインストールし、M+を使用して設定できますx load-theme。また、Customizeを使用すると現在のセッションに設定されますが、emacsを再度開いたときにロードされません。

カスタマイズメニューを開いてテーマを選択することはできますが、変更を保存しても何も起こらず、それと次のセッションの間で何も変わりません。ここで色のテーマに関するいくつかの質問を調べましたが、使用する必要がないため、ほとんどはEmacs24には当てはまりませんcolor-theme

.emacs以下は私のファイルの抜粋です。

(custom-set-variables
  '(custom-enabled-themes (quote (solarized-dark)))
  '(custom-safe-themes (quote ("fc5fcb6f1f1c1bc01305694c59a1a861b008c534cae8d0e48e4d5e81ad718bc6" default)))
...

に入れようとすると(load-theme 'solarized-dark t).emacs次のエラーが発生します。

error: Unable to find theme file for `solarized-dark'

emacsを開いた後の値を確認しました。custom-theme-load-pathこれには、elpaがsolarizedテーマを保存するために使用するディレクトリが含まれています。上記のように、テーマを手動でロードすることはできますが、初期化中にテーマをロードすることについて何かが壊れています。

4

2 に答える 2

14

追加するだけ

(パッケージ初期化)

.emacsファイルの先頭に移動します。

于 2013-03-21T20:59:18.930 に答える
0

補足:テーマの作成者が対処した場合、テーマは に追加されますがcustom-theme-load-path、これは の一部ではなく、defthemeこの動作を実装する個々のテーマの作成者にかかっています。

この問題を解決するために、名前にテーマが含まれるパッケージを見つけて起動時に追加する、emacslisp の簡単なスニペットを作成しましたcustom-theme-load-path

~/.emacsまたはの上部近くに追加するだけ~/.emacs.d/init.elです(つまり、あなたの前にload-theme

と に依存していs.elますdash.el(両方とも elpa で利用可能)

(require 'dash)
(require 's)

(-each
 (-map
  (lambda (item)
    (format "~/.emacs.d/elpa/%s" item))
  (-filter
   (lambda (item) (s-contains? "theme" item))
   (directory-files "~/.emacs.d/elpa/")))
 (lambda (item)
   (add-to-list 'custom-theme-load-path item)))
于 2013-03-22T09:59:17.767 に答える