我希望在编辑任何语言时在 emacs 中突出显示某些非字母数字字符(= +/< > 等)。
使用 a different question on this site 的答案,我找到了这个在编辑 Fortran 时突出显示“%”的解决方案:
(font-lock-add-keywords 'f90-mode
'(("%" . font-lock-keyword-face)))
但这只是一种语言中的一个符号。我可以通过污染我的 .emacs 文件来实现我想要的:
(font-lock-add-keywords 'c++-mode
'(("=" . font-lock-keyword-face)))
(font-lock-add-keywords 'java-mode
'(("=" . font-lock-keyword-face)))
(font-lock-add-keywords 'python-mode
'(("=" . font-lock-keyword-face)))
等等,但这引入了一个错误,即任何文件的最后几行根本没有任何语法高亮显示。
如何在所有语言模式下为特定的一组非字母数字字符启用语法高亮显示?
最佳答案
使用库 highlight-chars.el
(代码是 here )。
您可以使用任何面孔突出显示任何一组字符。您可以使用以下任何类型的任意数量的条目来定义集合:
- 字符串
- 连续字符的范围(Emacs 字符是整数)
- 字符类(例如
[:nonascii:]
、[:space:]
) - 字符集(例如
iso-8859-1
或lao
)
您还可以排除此类突出显示的任何字符集。
因此,例如,您可以突出显示字符集 greek-iso8859-7
中除字符 GREEK SMALL LETTER LAMBDA
之外的所有字符。或突出显示 [:space:]
类中的所有字符(空白),tab
除外。或 ?\u2190
到 ?\u21ff
(数学箭头)范围内的所有 Unicode 字符,?\u21b6
、?\u21b7 除外
、?\u21ba
和 ?\u21bb
(弯箭头)...
关于emacs - emacs 中非字母数字字符的语法突出显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31897550/