32

我的 .emacs 中有以下代码:

(if (null window-system)
  (progn
    (require 'color-theme)
    (color-theme-initialize)
    (color-theme-simple-1)))

当我在控制台上打开 Emacs 时,我可以验证该progn块是否运行(通过 a (message "Got here.")),并且我看到一个表明颜色主题已加载的闪烁,但如果已加载,它会被其他内容覆盖。如果在加载后,我打开我的 .emacs 文件并使用 提交上面的块C-x C-e,它就可以工作。我试过做:

(add-hook 'after-init-hook
          (lambda ()
            (progn
              (require 'color-theme)
              (color-theme-initialize)
              (color-theme-simple-1))))

但它的作用是一样的。

我使用 Emacs 24 可能与此相关,并且此代码不在我的 .emacs 中,而是在从我的 .emacs 加载的 ~/Dropbox/.emacs 中。


附加说明:我已经尝试过M-x customize-themes,但这些都不能在控制台上正常工作。它们要么产生几乎不可读的浅色主题,要么大部分文本是不可见的。

4

2 回答 2

49

Emacs 24 有内置的主题,它不使用像(require 'color-theme). 正如 Drew 在评论中指出的那样,颜色主题和自定义主题之间存在差异,新的方向是朝向后者。试着M-x customize-themes看看。从 .emacs,您可以执行诸如(load-theme 'wombat t).

但是...

它可能对你来说仍然是错误的。可能会像这样搞砸的一件事是改变面孔——也许在你的 .emacs 文件的 custom-set-faces 部分。Emacs 的交互式自定义会自动包含您在设置时碰巧使用的任何主题的颜色信息(背景和前景),因此这肯定会给颜色主题带来麻烦。如果这是导致它的原因,您可以设置您关心的特定属性,例如

(set-face-attribute 'default nil :height 120)

这将改变字体大小而不改变颜色。

于 2012-02-27T21:14:09.160 回答
6

Emacs 24 有自己的主题系统。

M-x customize-themes

或者

(custom-set-variables
  ....
   '(custom-enabled-themes (quote (selected-theme)))
)
于 2012-02-27T21:11:21.873 回答