Теоретически, обе следующие команды должны работать:
match Error /\v\u\_\U{-}%#\_.{-}\./
syn match Error /\v\u\_\U{-}%#\_.{-}\./
. В конце концов, с обеими командами я вижу ошибку: выделение не обновляется должным образом, пока я не нажму <C-l>
. Более того, :syn match
иногда выделяет две разные части двух разных предложений, поэтому первое предпочтительнее (см. Также :h matchadd()
и :h 2match
, потому что выделение :match
может исчезнуть, потому что оно AFAIR используется также чем-то другим) .
Обновление : Хотя из-за описанной выше ошибки я бы не рекомендовал добавлять ее в vimrc, вы можете использовать следующее:
augroup vimrcSentenceMatch
autocmd!
autocmd WinEnter * : if !exists('w:sentence_match')
\ | let w:sentence_match=matchadd('Error', '\v\u\_\U{-}%#\_.{-}\.')
\ | endif
augroup END