3

使用 emacs-24.1,我们如何扩展/自定义 emacs 中现有的颜色主题?我试着这样做

(custom-theme-set-faces
'tango
'(ido-first-match ((t (:foreground "008800" :weight bold))))

当我加载探戈时,它工作得很好。但是当我把它放在 .emacs.d/init.el 文件中时,它失败了,因为那时没有加载 tango 并且 emacs 抱怨未定义的 tango。这当然无济于事,因为我倾向于使用(load-theme ...)定期更改主题。我正在看的是加载主题时运行的某种钩子。可能吗 ?

当然,我可以修改 tango-theme.el 文件,但这不是我的目标。我想扩展现有的主题。我在我的初始化文件中试过这个

(load-theme 'tango-dark)

    (custom-theme-set-faces
    'tango-dark
    '(ido-first-match ((t (:foreground "#00cdef" :weight bold))))

(deftheme tango)

    (custom-theme-set-faces
    'tango
    '(ido-first-match ((t (:foreground "#008800" :weight bold))))

这适用于探戈主题。但探戈暗显示与探戈相同的颜色。因此,如何在加载现有主题之前自定义它们或在加载主题时设置自定义面。

4

2 回答 2

2

当我想定义一个新主题时,我修改一个给定的主题,然后我调用 (color-theme-print)。此函数将生成一个函数,帮助恢复我修改后的颜色主题。将生成的函数放入/包含在 .emacs 中。

color-theme-print 用于生成新的颜色主题。

于 2012-07-19T20:02:57.497 回答
1

您要查找的命令是eval-after-load.

于 2012-07-19T16:53:31.233 回答