Главная » C++ » Подсветка пользовательских ключевых слов в комментариях для VIM
Подсветка пользовательских ключевых слов в комментариях для VIM
Я хочу добавить пользовательские ключевые слова, которые должны быть выделены в Vim.
Эти ключевые слова предназначены для пометки комментариев, а не кода.
Это то, что у меня есть в моем .vimrc:
autocmd Syntax * syntax keyword Important containedin=.*Comment contained IMPORTANT
Это работает, но только частично, поскольку ключевое слово (ВАЖНО) выделяется только при использовании комментариев «C-Style»: (/ * … * /), а не короткая (// …) запись.
Я поиграл с флагом ‘содержа в =’ безуспешно ..
Это должно работать на C / C ++, но, очевидно, было бы неплохо иметь его в целом!
Когда я запускаю это на // comment строка в файле C ++, она перечисляет группу синтаксиса как cCommentL, Итак, чтобы исправить это, вам нужно расширить регулярное выражение, либо строго containedin=.*CommentL\?или более containedin=.*Comment.*
Я хочу добавить пользовательские ключевые слова, которые должны быть выделены в Vim.
Эти ключевые слова предназначены для пометки комментариев, а не кода.
Это то, что у меня есть в моем .vimrc:
Это работает, но только частично, поскольку ключевое слово (ВАЖНО) выделяется только при использовании комментариев «C-Style»: (/ * … * /), а не короткая (// …) запись.
Я поиграл с флагом ‘содержа в =’ безуспешно ..
Это должно работать на C / C ++, но, очевидно, было бы неплохо иметь его в целом!
Решение
Вам необходимо выяснить, какая группа синтаксиса вызывает выделение.
:syn list
показывает все активные группы, но легче установить SyntaxAttr.vim — Показать атрибуты подсветки синтаксиса символа под курсором плагин.Когда я запускаю это на
// comment
строка в файле C ++, она перечисляет группу синтаксиса какcCommentL
, Итак, чтобы исправить это, вам нужно расширить регулярное выражение, либо строгоcontainedin=.*CommentL\?
или болееcontainedin=.*Comment.*
Другие решения