*.smt 文件的 vim 中的语法突出显示

syntax highlighting in vim for *.smt files

为什么在编辑 smt 文件时 vim 以不同的颜色突出显示字母 r?绝对不是关键,但如果有人能快速修复它。

您需要找出哪个语法组导致突出显示。 :syn list 显示所有活动组,但安装 SyntaxAttr.vim - Show syntax highlighting attributes of character under cursor plugin. (I maintain an extended fork 时更容易。)当您知道有问题的语法组的名称时,您可以调查它的来源; (最后几行):scriptnames 可能有帮助。


这里的语法脚本是$VIMRUNTIME/syntax/smith.vim,高亮是由smithRegister:

引起的
syn match smithRegister     "R[\[]*[0-9]*[\]]*"

R 之后的所有内容都是可选的;与 :syn case ignore 一起,这会导致任何 r 突出显示。

我对那种语言一无所知;可能这些后缀应该是强制性的;您可以通过覆盖 ~/.vim/after/syntax/smith.vim 中的语法定义来解决这个问题(并向原作者发送补丁)。

要完全取消此规则,请将其放入您的 ~/.vimrc:

highlight link smithRegister Normal