在emacs

时间:2015-08-08 19:08:23

标签: emacs elisp syntax-highlighting highlight

我想在编辑任何语言时在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)))

等等,但是这引入了一个错误,其中任何文件的最后几行都没有任何语法高亮。

如何在所有语言模式下为特定的非字母数字字符集启用语法高亮显示?

1 个答案:

答案 0 :(得分:2)

使用库highlight-chars.el(代码为here)。

您可以使用任何面部突出显示任何字符集。您可以使用任何类型的任意数量的条目来定义集合:

  • 字符串
  • 连续字符的范围(Emacs字符是整数)
  • 字符类(例如[:nonascii:][:space:]
  • 字符集(例如iso-8859-1lao

您还可以排除此类突出显示的任何字符集。

例如,您可以突出显示字符集greek-iso8859-7中的所有字符,但字符GREEK SMALL LETTER LAMBDA除外。或者突出显示类[:space:](空白)中的所有字符,但tab除外。或?\u2190?\u21ff范围内的所有Unicode字符(数学箭头),?\u21b6?\u21b7?\u21ba?\u21bb除外(弯曲的箭头) )...