[英]How to color @ (at symbol) in Emacs?
我可以使用.emacs中的以下lisp代码在emacs中为关键字着色:
(add-hook 'c-mode-common-hook
(lambda () (font-lock-add-keywords nil
'(("\\<\\(bla[a-zA-Z1-9_]*\\)" 1 font-lock-warning-face t)))))
此代码将所有以“bla”开头的关键字着色。 示例:blaTest123_test
但是,当我尝试添加@('at'符号)而不是“bla”时,它似乎不起作用。 我不认为@是正则表达式的特殊字符。
你知道如何让emacs突出显示以@符号开头的关键字吗?
你的问题是你的正则表达式中的\\<
匹配空字符串,但仅限于单词的开头。 只有当后面有一个字组成字符时,`\\ <'才会匹配缓冲区(或字符串)的开头。
和@
不是一个单词构成字符。
请参阅: M- :( (info "(elisp) Regexp Backslash")
RET
这种不受限制的模式将为任何@
颜色着色:
(font-lock-add-keywords nil
'(("@" 0 font-lock-warning-face t)))
通过事先要求BOL或一些空白区域,这将做你想要的事情。
(font-lock-add-keywords nil
'(("\\(?:^\\|\\s-\\)\\(@[a-zA-Z1-9_]*\\)" 1 font-lock-warning-face t)))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.