【问题标题】:emacs 24 themes and inherit attributeemacs 24 主题和继承属性
【发布时间】:2012-07-02 16:58:41
【问题描述】:

我从这里开始使用 zenburn:

https://github.com/djcb/elisp/blob/master/themes/zenburn-theme.el

它使用了很多:inherit 设置。但是,我注意到当我切换到另一个主题 x 然后返回时,x 的前景将与 zenburn 的 :inherit 保持一致。

怎么办?

【问题讨论】:

    标签: emacs elisp emacs24


    【解决方案1】:

    :inherit 在 Emacs 24 中的工作很奇怪……目前尚不清楚当前行为是“功能”还是错误。我通常使用以下方式加载主题:

    (load-theme 'zenburn t)
    (load "zenburn-theme")
    

    在我的 init.el 的末尾;显式加载应该重置继承。 This is the advice given by the author of that theme,它也适用于其他主题(例如日晒)。

    【讨论】:

    • 嘿,谢谢,这解决了我自己主题的问题!加载 Emacs 后必须重新评估它以更正一些应该由主题设置的颜色。对我来说绝对是一个错误:-)
    • 我在使用 emacs 24 时遇到了类似的问题。您的解决方案对我有所帮助,但首先应该是 (load... 然后是 (load-theme...
    【解决方案2】:

    这仅仅是因为默认情况下 Emacs 自定义主题是累积的。要将一个主题替换另一个主题,仅启用第二个主题是不够的。您必须首先禁用要替换的那个。否则,效果就是合并两者。

    @ChristopherMonsanto 描述的加载顺序很可能具有这样做的效果:禁用当前主题,然后启用 zenburn 主题。

    FWIW,color 主题(来自库 color-theme.el)与 Emacs custom 主题的工作方式不同——颜色主题没有这个问题/功能。请参阅http://www.emacswiki.org/emacs/ColorTheme 了解更多信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-03-17
      • 2010-09-19
      • 1970-01-01
      • 1970-01-01
      • 2011-11-13
      • 2014-02-03
      • 2021-11-12
      • 2013-11-28
      相关资源
      最近更新 更多