Vim раскрыть список ключевых слов по умолчанию в vimrc

По умолчанию vim выделяет теги в комментариях, таких как TODO, FIXME и XXX, но эти три обычно не охватывают все, подобные сообщения, и это показывает, что есть много других полезных тегов, а также много полезных уровней тегов, поэтому я попытался реализовать их, После некоторых исследований я попытался создать новую группу синтаксиса и добавил следующее в.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 ответ

Решение

Как вы можете видеть в :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() для дополнительной информации.

Другие вопросы по тегам