Use o evento FileType
autocommand. Veja :h autocmd.txt
para detalhes.
au Filetype python source ~/.vim/scripts/python.vim
Eu trabalho com várias linguagens e marcações no vim todos os dias (ruby, python, javascript, CSS, HTML, etc), e gostaria de ter configurações diferentes para cada buffer quando eu abro meu editor. Como posso detectar qual sintaxe está carregada no buffer atual?
Especificamente, eu realmente prefiro que o indent de python seja 4 espaços, enquanto outros idiomas são encontrados com 2. Eu imaginei algo assim em meu arquivo .vimrc
:
if syntax == 'python'
set softtabstop=4
set shiftwidth=4
else if syntax == 'html'
" ...
endif
Qualquer coisa assim em vim? obrigado.
ft-plugins são o que você procura.
Veja as seguintes respostas:
Tags vim vimrc syntax indentation