我使用的其中一个vim插件:
syn keyword rustTodo contained TODO FIXME XXX NB NOTE
导致在评论中突出显示NB
,这是我不喜欢的。有没有办法重新定义关键字或从中删除一个?看:help syn-keyword
让我觉得这是不可能的。
答案 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
哇。这带来了严重的平台依赖性和安全性问题,但至少减轻了您使替换关键字列表与上游同步的负担。