Vim在vimrc中展开默认突出显示关键字列表

时间:2015-11-26 19:22:02

标签: vim syntax-highlighting vim-syntax-highlighting

默认情况下,vim会突出显示评论中的标签,例如TODO,FIXME和XXX,但这三个通常不会涵盖所有内容,thisthis这样的帖子会显示还有许多其他有用的标签许多有用的标签级别,所以我试图实现它们。经过一些研究后,我尝试创建新的语法组,并将以下内容添加到.vimrc:

syn keyword myBroken BROKEN ERROR WTF
syn keyword myWarning HACK BUG REVIEW FIXME TODO NOTE

hi def link myBroken Error
hi def link myWarning Todo

但是这不起作用,所以我尝试将这些添加到$HOME/.vim/after/syntax/syntax.vim,这也不起作用,所以我尝试将其放入$HOME/.vim/after/syntax/c.vim并仅在c文件中尝试这些,仍然没有奏效。我检查了runtimepath,它确实包含$HOME/.vim/after,所以我很困惑。

然后我想也许关键字在评论中不匹配,所以我尝试将syn keyword myBroken BROKEN ERROR WTF替换为syn match myBroken /\v<(ERROR|BROKEN|WTF)/ containedin=.*Comment,但这仍然不起作用。我知道我做错了什么或如何解决这个问题?提前谢谢。

1 个答案:

答案 0 :(得分:0)

正如您在:help mysyntaxfile-add中所看到的,这是正确的方法。我不知道为什么它不适合你,但你可能会像这样:

au BufWinEnter * let w:m1=matchadd('Error', 'BROKEN\|WTF', -1)
au BufWinEnter * let w:m1=matchadd('Todo', 'HACK\|BUG\|REVIEW\|FIXME\|TODO\|NOTE', -1)

有关详细信息,请参阅:help matchadd()