Vim смешивает стиль отступа при редактировании разных файлов

Я использую nerdtree с некоторыми другие плагины.

Когда я редактирую файлы с разными настройками отступа (например, Makefile, для которого требуются вкладки, и *.js, для которого должны быть пробелы), vim смешивает оба и применяет вкладки к *.js.

Тип файла определяется в этих строках:

" use real tabs for these languages
autocmd FileType go,make
            \ set noexpandtab

" use two spaces for these languages
autocmd FileType ruby,html,json,jade,javascript
            \ set tabstop=2 |
            \ set shiftwidth=2

" use four spaces for these languages
autocmd FileType css
            \ set tabstop=4 |
            \ set shiftwidth=4

Есть идеи, как заставить vim повторно применять autocmd Filetype при открытии другой вкладки в nerdtree?

бодо


person bodokaiser    schedule 30.12.2014    source источник
comment
Используйте setlocal вместо set   -  person FDinoff    schedule 30.12.2014
comment
stackoverflow.com/questions/27518262/   -  person FDinoff    schedule 30.12.2014
comment
Вам не нужно set noexpandtab для make-файлов, так как vim уже устанавливает это для make-файлов. См. :view $VIMRUNTIME/ftplugin/make.vim   -  person Peter Rincker    schedule 30.12.2014


Ответы (1)


Вы должны использовать setlocal вместо set, чтобы предотвратить утечку ваших настроек в другие буферы.

person romainl    schedule 30.12.2014