1

当我启动时,我启动emacs --daemon 它并评估我.emacs的一个例外:

(add-to-list 'load-path "~/.elisp/zenburn-emacs") ; 修复加载问题

(需要'zenburn)

;;; 颜色主题 - zenburn?

(添加到列表'加载路径“〜/ .elisp/color-theme”)

(需要'颜色主题)

(eval-after-load "color-theme" '(progn (color-theme-initialize)))

我知道加载路径的东西可以工作,因为M-x zenburn一旦我启动 emacsclient 就可以很好地加载配色方案emacsclient -nw

有人知道怎么回事(eval-after-load [snip - see above])吗?

这是一个错误吗?

系统信息:

GNU Emacs 23.2.1

安装在debian sid on2.6.32-5-amd64 版本:23.2+1-7

文件名:pool/main/e/emacs23/emacs23_23.2+1-7_amd64.deb

4

5 回答 5

3

Zenburn 的当前维护者给 Emacs 的一个提示(你真的):

(add-to-list 'load-path "~/.elisp/color-theme")
(add-to-list 'load-path "~/.elisp/zenburn-emacs")
(require 'zenburn)
(zenburn)

您不需要颜色主题,因为 zenburn 在内部需要它。但是,您确实需要在需要 zenburn 之后调用 zenburn 函数。

当您键入 Mx zenburn 时,您实际上是在调用 (zenburn) 函数,这就是为什么主题在那时而不是在启动时被应用的原因。

于 2011-03-24T15:38:16.120 回答
2

你真的不说什么是行不通的吗?

(require 'zenburn)不足以启动主题。
您还需要调用(color-theme-zenburn)(或它的别名(zenburn),就像您以交互方式进行的那样)。

于 2011-03-24T06:15:24.573 回答
1

FWIW,这是我在 .emacs 中加载 zenburn 的方式:

(require 'zenburn)
(zenburn)

通过 emacsclient 加载正常。

于 2011-03-24T14:43:09.740 回答
1

评论太长了:

我的.emacs文件中有以下行:

(setq default-frame-alist '((font . "Inconsolata-20") (tool-bar-lines . 0) (menu-bar-lines . 0)))

如果我举个例子

(color-theme-taylor)

在这条线之后它可以工作,如果我把它放在这条线之前,它不会。

IE

(require 'color-theme)
(color-theme-initialize)    

(setq default-frame-alist '((font . "Inconsolata-20") (tool-bar-lines . 0) (menu-bar-lines . 0)))

(color-theme-taylor)

有效...也许您的问题可能有类似的原因...

于 2012-07-19T19:35:17.017 回答
0

类似的东西(progn (require 'color-theme) (color-theme-initialize))应该可以工作。要查看(eval-after-load "color-theme" '(progn (color-theme-initialize)))它应该做什么,请检查是否color-theme-initialize附加到after-load-alist( describe-variable C-h v)。如果没有,它可能是一个错误。

于 2011-03-24T06:09:13.360 回答