У меня фактически есть что-то вроде этой настройки для моих режимов программирования. это определяет 2 отдельные грани, одну для операторов и одну для символа «конечный оператор» (очевидно, не очень полезный в python). Вы можете изменить регулярное выражение "\\([][|!.+=&/%*,<>(){}:^~-]+\\)"
, чтобы оно соответствовало интересующим вас операторам, и настроить лица в соответствии с желаемым цветом.
(defvar font-lock-operator-face 'font-lock-operator-face)
(defface font-lock-operator-face
'((((type tty) (class color)) nil)
(((class color) (background light))
(:foreground "dark red"))
(t nil))
"Used for operators."
:group 'font-lock-faces)
(defvar font-lock-end-statement-face 'font-lock-end-statement-face)
(defface font-lock-end-statement-face
'((((type tty) (class color)) nil)
(((class color) (background light))
(:foreground "DarkSlateBlue"))
(t nil))
"Used for end statement symbols."
:group 'font-lock-faces)
(defvar font-lock-operator-keywords
'(("\\([][|!.+=&/%*,<>(){}:^~-]+\\)" 1 font-lock-operator-face)
(";" 0 font-lock-end-statement-face)))
затем вы просто включаете это, добавляя ловушку в соответствующие режимы (в этом примере предполагается, что вы используете "python-mode"):
(add-hook 'python-mode-hook
'(lambda ()
(font-lock-add-keywords nil font-lock-operator-keywords t))
t t)