3

В Vim я могу установить локальную конфигурацию как:

 setlocal number

Как я могу установить локальное соответствие только для определенного типа файла?

Я использую это:

 autocmd! BufEnter *.py,.vimrc,*.sh,*.c* :match ColorColumn /\%>80v.\+/

Но когда я открываю файл другого типа в том же сеансе, это дает мне соответствие ColorColumn .

3 ответа3

3

Это может больше не быть полезным для автора, но я поместил следующее в .vim/ftplugin/python.vim:

if exists('+colorcolumn')
    setlocal colorcolumn=81
else
    au! BufEnter <buffer> match ColorColumn /\%81v.*/
endif

Поскольку он находится в ftplugin, это происходит только для файлов python, и BufEnter сохраняет его локально по отношению к буферу, в котором находится файл python.

1

Я решил это с этим:

augroup longLines
    autocmd! BufEnter *.py,.vimrc,*.sh,*.c* :match ColorColumn /\%>80v.\+/                      
augroup END
1

Это сделает выделение активным, когда открыты типы файлов Python или C (не стесняйтесь добавлять другие туда. Я не знал, к какому расширению относится тип файла * .sh), и заставил его исчезнуть для всех остальных.

augroup LongLines
    autocmd!
    autocmd FileType * match none
    autocmd FileType python,c,sh match ColorColumn /\%>80v.\+/
augroup END

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .