emacs - emacs 中非字母数字字符的语法突出显示

标签 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)))

等等,但这引入了一个错误,即任何文件的最后几行根本没有任何语法高亮显示。

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

最佳答案

使用库 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(弯箭头)...

关于emacs - emacs 中非字母数字字符的语法突出显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31897550/

相关文章:

emacs - Elisp:如何从具有字符串键的关联列表中删除元素

javascript - react : Rendering a syntax highlighted code block

php - 在 netbeans 中没有扩展的语法高亮显示 PHP shell 脚本

colors - 有其他替代方案(配色方案)吗?

emacs - 计算项目的优雅方式

javascript - 如何自动修复嵌套标记页面的缩进?

Emacs 浮点型小数点缩进

emacs - 组织模式中的标签位置

image - 在 Emacs 的弹出菜单中显示图像

function - 为什么许多 lisp 函数名称都像 "foo"、 "foo-1"、 "foo-2"等?