Я использую :match
, чтобы выделить проблемы с моим кодом, которые не соответствуют стилю. Следующие работы отлично подходит для первого окна я открыть в Vim:Vim новые вкладки не соответствуют текст
~/.vimrc
:
hi ExtraWhitespace ctermbg=red guibg=red
hi NoFunctionSpace ctermbg=red guibg=red
match ExtraWhitespace /\s\+$\| \+\ze\t/
2match NoFunctionSpace /\S(/
Однако, когда я иду в :tabedit
файл, или если открыть Vim с -p
опции и несколько файлов , только первое окно подсвечивает совпадения. Я хочу, чтобы все мои открытые вкладки отображали совпадения.
Я обнаружил, что если я использую BufEnter вместо WinEnter, я могу удалить исходный ': match'. Я также использую 'call matchadd' вместо': match', потому что тогда я могу назвать его столько раз, сколько хочу. Результат: 'autocmd BufEnter * call matchadd (" WhitespaceEOL ", '\ s \ + $')' – pzanoni
'matchadd()' хорошо; поэтому вы можете оставить ': match' для интерактивного использования. Но 'BufEnter' ошибается; поскольку оба объекта привязаны к окну. Вы можете заметить, что он не работает при разделении текущего буфера на ': split'. –