如何设置emacs运营商颜色?

时间:2014-02-21 00:54:46

标签: emacs font-lock

如何为操作员设置字体颜色? 我正在用C ++编程,我希望运算符如'+','=','!=','<<'并按照我的意愿着色。

我尝试将光标移动到一个操作符和'M-x customize-face'上,但默认情况下它会将我带到“所有面孔”。我应该编辑哪一个?

2 个答案:

答案 0 :(得分:2)

我相信这就是你要找的东西。

;;       * 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)))

答案 1 :(得分:0)

默认情况下,我的font-lock版本(默认为Emacs 24.3)中的运算符不是c++-mode。您可以使用C-u C-x =获取光标下的面部。要向操作员添加字体锁定,您可以这样添加:

(font-lock-add-keywords 'c++-mode
  '(("\\(~^<>:=,.\\+*/%-]\\)" 0 'highlight)))

正则表达式和脸部可以定制。我不是一个正则表达式的忍者,因此强调的操作员非常简单。