如何将我的自定义emacs主题视为"安全主题"?

Dan*_*uan 44 emacs customization themes elisp editor

我是Emacs的新手.

所以,我正在使用emacs 24和曝光的色彩主题.

当Emacs启动时,它提示我"加载一个主题可以运行Lisp代码,真的加载吗?".

当我回答"是"时,它会继续"在未来的会议中将此主题视为安全吗?".

如果我说"y",主题就会被加载,并且

(custom-set-variables
    (custome-safe-themes (quote ("..." default))))
Run Code Online (Sandbox Code Playgroud)

自动添加到〜/ .emacs.

但是,每次打开Emacs时,这些问题都会回来!

什么是关闭它们的正确方法?

san*_*inc 88

如果您使用M-x customize-themes设置和保存首选主题,那么一切都应该很好地工作.

相反,如果您已经添加了代码来.emacs启用主题,但该代码在文件中出现的时间早于custom-set-variables命令,则可能是问题所在.

您可以强制Emacs加载主题,而不会提示您使用load-theme函数的NO-CONFIRM标志来确认其安全性:

(load-theme 'solarized-light t)
Run Code Online (Sandbox Code Playgroud)

  • 然后你没有Emacs 24,我很害怕. (4认同)
  • 我正要嘲笑你,看哪,我显然跑了...... Emacs23.好的,我先检查一下.;-) (2认同)

elf*_*elf 5

同样的问题发生在这里.我解决了这个问题,在加载主题之前放置自定义变量代码.

(custom-set-variables
 '(custom-safe-themes (quote ("9527feeeec43970b1d725bdc04e97eb2b03b15be982ac50089ad223d3c6f2920" default))))
(custom-set-faces
)
Run Code Online (Sandbox Code Playgroud)

然后我加载我的主题:

(defun use-default-theme()
  (load-theme 'default-black))

(use-default-theme)
Run Code Online (Sandbox Code Playgroud)