当我通过M-x customize-face
菜单自定义面部并将更改保存到磁盘时,Emacs会将自动生成的代码添加到我的.emacs
文件中,如下所示:
(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.
;
;; SOME CODE
;
)
其中SOME CODE
类似于:
'(diredp-dir-priv ((t (:foreground "cyan"))))
现在,假设我想手动对SOME CODE
进行更改,并可能添加更多代码来修改其他面孔。将这些更改保留在custom-set-faces
块下是否明智?或者我应该将它移到另一个块(以避免Emacs混淆)
另外,Emacs会感到困惑我有多个 (custom-set-faces ... )
块吗? (同问(custom-set-variables ...)
答案 0 :(得分:4)
如果您手动添加自定义面,请将其保留在自定义面中。
至于有多个(custom-set-faces ... )
或(custom-set-variables ... )
列表,我刚刚对此进行了测试(在Emacs 23.1中)。它们可以工作--Emacs将处理所有列表 - 但是,如果您随后使用M-x customize-face
添加新的自定义面(类似于变量)并将其保存以供将来的会话使用,Emacs会将所有列表合并为一个。所以,你应该只保留一个。