0

我想更改 powerline-evil-center-color-theme 中的默认颜色。我特别希望更改邪恶状态面孔的面孔颜色,以使背景和前景颜色与我的 Emacs 颜色主题相匹配。

我试图查看关于 powerline-evil 的自述文件,但它没有告诉我如何通过我的 init.el 配置颜色,并且我尝试修改 powerline-evil.el 中的代码以手动更改颜色,但它仍然没有工作。

以下代码取自我的 powerline-evil.el:

(defface powerline-evil-base-face
  '((t (:foreground "green" :inherit mode-line)))
  "Base face for powerline evil faces."
  :group 'powerline)

(defface powerline-evil-normal-face
  '((t (:background "#909737" :inherit powerline-evil-base-face)))
  "Powerline face for evil NORMAL state."
  :group 'powerline)

(defface powerline-evil-insert-face
  '((t (:background "blue" :inherit powerline-evil-base-face)))
  "Powerline face for evil INSERT state."
  :group 'powerline)

(defface powerline-evil-visual-face
  '((t (:background "orange" :inherit powerline-evil-base-face)))
  "Powerline face for evil VISUAL state."
  :group 'powerline)

(defface powerline-evil-operator-face
  '((t (:background "cyan" :inherit powerline-evil-operator-face)))
  "Powerline face for evil OPERATOR state."
  :group 'powerline)

(defface powerline-evil-replace-face
  '((t (:background "red" :inherit powerline-evil-base-face)))
  "Powerline face for evil REPLACE state."
  :group 'powerline)

(defface powerline-evil-motion-face
  '((t (:background "magenta" :inherit powerline-evil-base-face)))
  "Powerline face for evil MOTION state."
  :group 'powerline)

即使我将前景设置为绿色,如您在上面的代码中所见,它仍然显示为白色。我不知道该怎么办。任何人都可以帮忙吗?

编辑:我现在实际上有另一个问题。@AaronHarris 告诉我的内容适用于前景色,但我无法更改其他州的背景色。我的整个模式行变成了我的主题的背景颜色。我已将以下代码添加到我的 init.el

(custom-theme-set-faces 'jazz '(powerline-evil-base-face
                                  ((t (:foreground "jazz-fg" :inherit mode-line)))
                                  :group 'powerline))

  (custom-theme-set-faces 'jazz '(powerline-evil-insert-face
                                  ((t (:background "jazz-blue" :inherit powerline-evil-base-face)))
                                  :group 'powerline))

第一部分适用于前景色,但第二部分做得不好。

4

1 回答 1

0

我想你想用来custom-theme-set-faces告诉你的主题如何处理这张脸,例如:

(custom-theme-set-faces 'my-theme '(powerline-evil-base-face
                                    ((t (:foreground "green")))))

我对这里发生的事情的未受过教育的猜测是,您的主题已经知道这张脸,并且它的默认值也是白色的,因此您对原始定义所做的任何事情都会被主题抹去。

于 2015-09-21T20:26:24.693 回答