我正在使用 GUI Emacs。无论我加载哪个自定义主题,我的背景颜色都保持不变。这可能并不重要,但是当我加载不同的主题时,我总是收到消息:
message [sml] sml/theme set to automatic
在迷你缓冲区中。可能相关的 elisp 是:
(require 'powerline)
.
.
.
(setq sml/theme 'powerline)
(sml/setup)
我使用稍微修改过的 Solarized-light 版本作为我的主题。在我的.emacs
文件中我有:
(load-theme 'my-solarized-light 1)
;; (set-background-color "#fffff0") ;; not necessary because theme was customized
solarized-light
和之间的唯一区别my-solarized-light
是我将背景颜色设置为#FFFFF0 而不是#FDF6E3。我遇到的一个问题是我不记得我是怎么做到的。
在我的文件顶部附近.emacs
,在custom-set-variables
, 下是
'(custom-enabled-themes (quote (my-solarized-light)))
如何使“加载主题”再次正常工作?
答案1
我有同样的问题。
我修改了一些字体设置,通过这些设置在我的 .spacemacs 文件中describe-face
设置了值。custom-set-faces
(custom-set-faces
;; custom-set-faces was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
'(org-table ((t (:background "black" :foreground "#586e75" :weight bold)))))
这似乎将背景颜色应用于所有主题。删除此自定义并重新启动 spacemacs 解决了问题。
答案2
如果您已启用并使用会话保存,看起来该文件也在该文件中.emacs.d/.emacs.desktop
保留了一个副本。background-color
删除它对我来说是解决方案。
注意:在 emacs 会话中.emacs.desktop
启用时修改 emacs 内的文件(desktop-save-mode 1)
将使 emacs 在退出 emacs 时询问您是否确实要更新,.emacs.desktop
因为它已在外部修改。这次你想说“不”,只是因为 emacs 会用它自己的内存中副本更新它,可能会将变量background-color
设置为你想要删除的东西。
(第一次发帖,请多多包涵:))
答案3
我在 mac os 上使用 emacs 27 时遇到了同样的问题。就像这里的另一个答案一样,我使用过M-x customize-face default
(因为“设置默认面孔”仍然由于某种原因在此版本中不起作用),并且实际上设置了背景和前景。我取消选中旁边的复选框,然后主题再次开始正常工作。