有四个选项(其中两个已由其他人建议):
使用after
vimfiles (~/.vim/after/syntax/cpp.vim) 中的结构:
:help after-directory
对当前窗口使用匹配:
:match really_unique_name "[()]"
再次对当前窗口使用 matchadd(),但这允许您在以后需要时删除单个匹配项:
:call matchadd('really_unique_name', "[()]")
" Or
:let MyMatchID = matchadd('really_unique_name', "[()]")
" and then if you want to switch it off
:call matchdelete(MyMatchID)
安装 Dr Chip 的rainbow.vim插件以根据缩进级别以不同颜色突出显示大括号。
对于这种情况,我建议您使用选项 1,因为您似乎希望将其作为通用语法的一部分。如果您想使用匹配项并且希望它们是特定于缓冲区的(而不是特定于窗口的),您将需要以下内容:
function! CreateBracketMatcher()
call clearmatches()
call matchadd('really_unique_name', "[()]")
endfunc
au BufEnter <buffer> call CreateBracketMatcher()
有关更多信息,请参阅:
:help after-directory
:help :match
:help matchadd()
:help matchdelete()
:help clearmatches()
:help function!
:help autocmd
:help autocmd-buffer-local
:help BufEnter
您可能还对我对这个问题的回答感兴趣,它涵盖了更一般的运算符突出显示。