Emacs:在点处查找人脸定义(颜色、其他样式等)

gre*_*uan 4 emacs color-scheme

我正在根据默认主题为 Emacs 制作一个主题,即 GUI 默认主题(白色背景)和--reverse-video标志中出现的主题(黑色背景)。只是要为插件面等提供更多颜色,以便它们都具有更统一的外观。

如果您有兴趣:https : //github.com/Greduan/emacs-theme-better-defaults

现在,由于我要处理已经存在的主题,我不完全确定在哪里可以找到源,所以我想我应该在这里问一下解决这个问题的最佳方法是什么。

假设我在评论之上有我的观点,是否有命令或类似的东西可以调用,以便我可以找到定义特定面孔的颜色等?

我知道describe-face, what-cursor-position(C-x =C-u C-x =) 和list-colors-display.

前两个没有提供我需要的信息,即它使用的是什么颜色(十六进制代码或其他),或者至少我找不到它。我可能会使用,list-colors-display但这真的是一个 PITA,试图找到它正在使用的确切颜色。哈哈

任何帮助表示赞赏。谢谢。:)

Dan*_*Dan 7

实际上,describe-face确实提供了您似乎正在寻找的信息。将光标放在具有您感兴趣的面孔的角色上。执行M-x describe-face。它将默认为角色的脸部。按回车键:它将描述那张脸。这是您default从墨水瓶主题中获得的面部示例;注意前景和背景十六进制值,它们是您想要的项目:

Face: default (sample) (customize this face)

Documentation:
Basic default face.

Defined in `faces.el'.

        Family: DejaVu Sans Mono
       Foundry: unknown
         Width: normal
        Height: 150
        Weight: normal
         Slant: normal
    Foreground: #bdbdbd
    Background: #0d0d16
     Underline: nil
      Overline: nil
Strike-through: nil
           Box: nil
       Inverse: nil
       Stipple: nil
          Font: #<font-object -unknown-DejaVu Sans Mono-normal-normal-normal-*-26-*-*-*-m-0-iso10646-1>
       Fontset: -unknown-DejaVu Sans Mono-normal-normal-normal-*-26-*-*-*-m-0-fontset-auto1
       Inherit: nil
Run Code Online (Sandbox Code Playgroud)


小智 5

您可以使用它describe-char来执行此操作。 describe-char将显示该点结束的角色的文本属性,其中将显示用于装饰角色的面部列表等。您可以直接从角色属性窗口转到面部属性或使用describe-face.

  • 我总是使用/推荐“describe-char”(嗯,包含它的“Cu Cx =”)的原因是,一个角色上可以有多个活跃的面孔。`describe-face` 将提供相关的默认值,但不一定是您需要的。 (2认同)