繁体   English   中英

如何在Emacs中为@(at符号)着色?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM