加载另一个后,emacs disable-theme(主题冲突)

Mik*_*lla 3 emacs

在Emacs 24.3.1上,如果我M-X load-theme又加载了另一个主题,则它通常会干扰我当前的主题,而不是替换它,从而在颜色方面产生非常难看的结果。

这里有一个示例,其中主题solarized-lightwombat主题冲突:

日光与温巴德冲突

我通过做一个M-X disable-theme古老的主题来解决这个问题,有没有更清洁的方法来解决这个问题?

mar*_*tin 5

首先禁用活动主题肯定会有所帮助。

如果将此添加到您的init.el中:

(defun disable-all-themes ()
  "disable all active themes."
  (dolist (i custom-enabled-themes)
    (disable-theme i)))

(defadvice load-theme (before disable-themes-first activate)
  (disable-all-themes))
Run Code Online (Sandbox Code Playgroud)

该功能load-theme将先禁用活动主题,然后再加载新主题。

  • 这个建议是个坏主意。主题是“相互重叠的”。包可能依赖于此。最好定义一个执行相同功能的新命令。 (3认同)