我是新来的emacs,但是现在遇到了一些问题,我不能设置flycheck-posframe的颜色,什么是正确的设置方法。我试过写这篇文章,但它不能工作。谢谢
(setq flycheck-posframe-warning-prefix "😅"
flycheck-posframe-error-prefix "😡"
flycheck-posframe-border-width 5
flycheck-posframe-error-face '((t :inherit nil :foreground "red"))
flycheck-posframe-warning-face `(:foreground-color ."orange")
flycheck-posframe-info-face '((t (:foreground "blue")))
flycheck-posframe-border-face '(:foreground "#dc752f")))发布于 2019-08-13 07:21:13
Emacs中的Faces实际上是以不同于普通变量的方式存储的,这意味着您不能使用setq设置它们的值。
修改面属性的最简单方法是通过Emacs Customization interface。可以通过运行命令M-x customize-face,然后输入要更改的面的名称来执行此操作。您可以在此自定义缓冲区中轻松编辑面的属性。完成更改后,必须选择Apply (如果希望将更改应用于当前Emacs会话)或Apply and Save (如果希望更改也保留到将来的Emacs会话)以使更改生效。
以下是使用自定义缓冲区修改flycheck-posframe-error-face的示例:

但是,如果出于某种原因需要使用Emacs Lisp修改面属性,则可以使用set-face-attribute函数进行修改。此函数采用面的名称(作为符号)、帧( nil的值表示更改将影响所有帧)以及交替的属性名称和值。请注意,这些属性更改只会影响当前的Emacs会话。您需要在每次启动Emacs会话时执行这些函数,以便将这些更改应用于该会话(例如,通过将以下命令添加到您的init文件)。
以下内容应进行您正在尝试进行的修改:
(set-face-attribute 'flycheck-posframe-error-face
nil
:inherit nil
:foreground "red")
(set-face-attribute 'flycheck-posframe-warning-face
nil
:foreground "orange")
(set-face-attribute 'flycheck-posframe-info-face
nil
:foreground "blue")
(set-face-attribute 'flycheck-posframe-border-face
nil
:foreground "#dc752f")https://stackoverflow.com/questions/57447830
复制相似问题