Возможно, но вам придется сделать это после подсветка синтаксиса была определена (большинство подсветок синтаксиса начинаются с :syn clear
, что приведет к удалению того, что вы сделали). Это можно сделать с помощью autocmd. Попробуйте это:
hi link tododone tDone
hi link done tDone
hi default tDone ctermfg=DarkGreen guifg=White guibg=DarkGreen
function! HighlightKeywords()
" syn keyword is faster than syn match and is
" therefore better for simple keywords. It will
" also have higher priority than matches or regions
" and should therefore always be highlighted (although
" see comments about containedin= below).
syn keyword tododone DONE
syn region done start=/\*\*DONE/ end=/\*\*/
endfunction
autocmd Syntax * call HighlightKeywords()
Обратите внимание, что часть области syn не может быть гарантирована, так как существуют разные проблемы с подсветкой региона, которые могут вызвать проблемы.
Также, как общее примечание, если есть регионы, в которых вы хотите, чтобы подсветка появлялась, они должны быть перечислены в явном виде, что может немного усложнить ситуацию: например,
" Allow this keyword to work in a cComment
syn keyword tododone DONE containedin=cComment
Для получения дополнительной информации см .:
:help :syn-keyword
:help :syn-region
:help :function
:help :autocmd
:help Syntax
:help :syn-containedin
:help :syn-priority