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