Regex Emacs:如何设置标点符号/C运算符的颜色?

Regex Emacs:如何设置标点符号/C运算符的颜色?,regex,emacs,syntax-highlighting,Regex,Emacs,Syntax Highlighting,我需要一些帮助来解决一些Emacs语法突出显示问题。我想设置所有C/C++操作符的颜色。我遇到了麻烦,因为“/”用于除法(我想涂上颜色),但也用于开始注释(我自己不想涂上颜色,默认代码会给它们涂上颜色)。我似乎不知道如何告诉Emacs在没有任何其他正斜杠包围的情况下只给一个正斜杠涂上颜色 这就是我现在拥有的: (add-hook 'c-mode-common-hook (lambda () (font-lock-add-keywords nil '(("[<&

我需要一些帮助来解决一些Emacs语法突出显示问题。我想设置所有C/C++操作符的颜色。我遇到了麻烦,因为“/”用于除法(我想涂上颜色),但也用于开始注释(我自己不想涂上颜色,默认代码会给它们涂上颜色)。我似乎不知道如何告诉Emacs在没有任何其他正斜杠包围的情况下只给一个正斜杠涂上颜色

这就是我现在拥有的:

(add-hook 'c-mode-common-hook (lambda ()
  (font-lock-add-keywords nil         
    '(("[<>:&*=+^%!~,.?;/-]" 0 font-lock-warning-face t)))
))

当然,如果已经有一种为标点符号/运算符指定颜色/面的方法,而我刚刚错过了,请告诉我

每个字长条目的格式如下:

(SUBEXP FACENAME [OVERRIDE [LAXMATCH]])
规则中的
t
对应于
OVERRIDE
条目。如果您删除它,您的规则将不会重新突出显示已突出显示的内容,例如注释和字符串


没有用于突出显示所有运算符的通用包,但是
cwarn模式
将突出显示嵌入较大表达式中的
=
+=
等,以及
在不应该的情况下,如
if(条件)。它是使用函数而不是ReGEXP:S来实现的,而且如果您打算实现相对高级的字体锁定规则,我认为它是一个很好的参考。

< P>每个字体长条目具有以下格式:

(SUBEXP FACENAME [OVERRIDE [LAXMATCH]])
规则中的
t
对应于
OVERRIDE
条目。如果您删除它,您的规则将不会重新突出显示已突出显示的内容,例如注释和字符串


没有用于突出显示所有运算符的通用包,但是
cwarn模式
将突出显示嵌入较大表达式中的
=
+=
等,以及
在不应该的情况下,如
if(条件)。它是使用函数而不是ReGEXP:S来实现的,而且如果你计划实现相对先进的字体锁定规则,我认为这是一个很好的参考。

我认为操作符需要用符号来彼此分离。如果您在
字体锁定添加关键字
上执行
描述函数
,您将在那里的示例中看到。@vpit:regexp synatx是正常的,
[
]
列出一组要匹配的字符,在这种情况下,
|
符号没有特殊意义。我认为运算符需要用|符号彼此分开。如果您在
字体锁定添加关键字
上执行
描述函数
,您将在那里的示例中看到。@vpit:regexp synatx是正常的,
[
]
列出一组要匹配的字符,在此上下文中,
符号没有特殊意义。