vim match удалить другой матч - PullRequest
3 голосов
/ 14 ноября 2011

в vim для отображения пробельных символов EOL Я использую

highlight whitespaceEOL term=reverse ctermbg=Grey guibg=Grey
match whitespaceEOL /\s\+\(\%#\)\@!$/

, но когда я использую совпадение для длинных линий

augroup longLines
    autocmd! filetype zsh,sh,python,vim,c,cpp :match ColorColumn /\%>80v.\+/
augroup END 

Я проиграл первый матч, почему?

1 Ответ

5 голосов
/ 14 ноября 2011

:match соответствует только одному шаблону за раз.

:2match и :3match существуют именно по этой причине.

В качестве альтернативы вы можете реализовать это как syntax.

Попробуйте:

2match whitespaceEOL /\s\+$/
3match ColorColumn /\%>80v.\+/

Или:

syntax match whitespaceEOL /\s\+$/
syntax match ColorColumn /\%>80v.\+/
...