vim突出显示:删除语法关键字

时间:2017-04-24 08:30:31

标签: vim

我使用的其中一个vim插件:

syn keyword rustTodo contained TODO FIXME XXX NB NOTE

导致在评论中突出显示NB,这是我不喜欢的。有没有办法重新定义关键字或从中删除一个?看:help syn-keyword让我觉得这是不可能的。

2 个答案:

答案 0 :(得分:3)

如果这是rustTodo的唯一定义(这些是累积的),您可以删除然后重新定义它:

syn clear rustTodo
syn keyword rustTodo contained TODO FIXME XXX NOTE

不幸的是,删除语法项的粒度仅限于整个语法组(此处:rustTodo);你不能选择单独的关键词,除非他们也有不同的组(这会导致高亮组的链接更多,因此效率低下)。

要使其永久化,请将其放入~/.vim/after/syntax/rust.vim

如果您认为大多数用户不喜欢NB,请向作者建议删除它。将其作为个人定制添加回来比删除它更容易,更易于维护......

答案 1 :(得分:0)

从其他语法文件导入语法文件时,我遇到了类似的问题,并提出了肮脏的技巧。

不用加载语法文件

syn include @othersyntax syntax/othersyntax.vim

您可以使用

syn include @othersyntax !sed 's/<NB>//' syntax/othersyntax.vim

哇。这带来了严重的平台依赖性和安全性问题,但至少减轻了您使替换关键字列表与上游同步的负担。