Answers:
您确定使用的是颜色主题,而不是Emacs自定义主题吗? 颜色主题由library定义color-theme.el
。自定义主题可开始使用Emacs 24 -他们不一样的颜色主题。
如果您使用的是颜色主题,那么答案很简单:只需启用名为的伪颜色主题[Reset]
。这完全取消了主题:删除其强加的所有效果。
如果实际上您正在使用Emacs 自定义主题,那么答案就不是那么简单。您不能撤消自定义主题的应用。您可以做的是很有用的,是在启用每个自定义主题之后,再启用另一个自定义主题之前,使用禁用每个自定义主题。disable-theme
这是“半自动”执行此操作的两种方法:
Advise load-theme
,因此它首先禁用所有自定义主题,然后再加载(启用)另一个主题。这个建议在这个StackOverflow的答案被Tungd在tungdao.com。
(defadvice load-theme (before theme-dont-propagate activate)
(mapcar #'disable-theme custom-enabled-themes))
在启用主题之前,定义并使用禁用当前主题的功能。这是Maris Orbidans提出的。
(defun enab-theme (theme)
(if current-t43m3 (disable-theme current-t43m3))
(setq current-t43m3 theme)
(load-theme theme t))
有关更多信息,请参阅原始SO帖子,并在同一SO页面上查看问题和其他答案。(注意:该页面上可接受的答案不是撤消自定义主题的答案。)
请注意,即使#2中描述的解决方案也不是通用解决方案:它们不会撤消自定义主题的应用- 无法做到这一点。也就是说,禁用自定义主题不会恢复您在启用该主题之前可能已经进行的任何非主题 自定义(例如,脸部更改),并且该主题已将其覆盖。
换句话说,取消颜色主题是微不足道的。撤消自定义主题是不可能的。您可以为自定义主题做的最好的事情就是相对于其他自定义主题禁用它。
关于此问题以及在颜色和自定义主题之间进行切换(例如循环)的方式的最佳参考是Emacs Wiki页面“ 颜色和自定义主题”。
请提前警告:在这方面,各地有关Emacs自定义主题的信息存在大量误导性信息。人们为Emacs在Emacs 24中添加自定义主题作为一项功能而感到非常兴奋,其中一些人立即跳入一个错误的结论,即自定义主题可以替代颜色主题。他们不是。每个都有一些优点。例如,无法撤消是自定义主题的主要缺点。
[ 此GNU Emacs错误报告是一项增强请求,用于纠正无法撤消自定义主题(从而恢复较早的自定义)的问题。
customize-themes
UI上)是否要同时启用多个主题。我猜这些可能是在我改变主意的情况下撤消应用主题的方法。而且我还猜测,使用Lisp,可以在启用任何功能之前保留自动备份。
color-theme-dark-laptop
,则要恢复为先前的主题,则需要手动制作快照。例如,(fset 'color-theme-revert (color-theme-make-snapshot))
您会color-theme-revert
收到恢复命令。否则[Resert]按钮将不起作用。(要测试我是否正确,请color-theme-select
在更改主题之前不要发出命令,因为这会使您丢失快照)