【发布时间】:2014-02-22 00:17:56
【问题描述】:
如何设置运算符的字体颜色? 我正在使用 C++ 编程,我希望像 '+'、'='、'!='、'
我尝试将光标移动到运算符和“M-x customize-face”上,但默认情况下它会将我带到“所有面孔”。我应该编辑哪个?
【问题讨论】:
如何设置运算符的字体颜色? 我正在使用 C++ 编程,我希望像 '+'、'='、'!='、'
我尝试将光标移动到运算符和“M-x customize-face”上,但默认情况下它会将我带到“所有面孔”。我应该编辑哪个?
【问题讨论】:
我相信这就是你要找的。p>
;; * the name of our face *
(defface font-lock-operator-face
'((((class color)
:background "darkseagreen2")))
"Basic face for highlighting."
:group 'basic-faces)
;; You'll have a hard time missing these colors
(set-face-foreground 'font-lock-operator-face "red")
(set-face-background 'font-lock-operator-face "blue")
(font-lock-add-keywords 'c++-mode
'(("\\(~^&\|!<>:=,.\\+*/%-]\\)" 0 'font-lock-operator-face)))
【讨论】:
&、|、!、? 和 ;。此外,regexp-opt 非常适合制作这类正则表达式。
(defface font-lock-operator-face "Basic face for highlighting." :group 'basic-faces)
默认情况下,在我的c++-mode 版本(Emacs 24.3 默认)中,运算符不是font-locked。您可以使用C-u C-x = 获取光标下的人脸。要将字体锁定添加到运算符,您可以这样添加:
(font-lock-add-keywords 'c++-mode
'(("\\(~^<>:=,.\\+*/%-]\\)" 0 'highlight)))
正则表达式和面部可以自定义。我不是正则表达式忍者,所以突出显示的运算符非常简单。
【讨论】: