Is there a way where I can set vim to configure itself based on the filetype? So for example, text files have the equivalent of

:set spell :syntax off

Where a C source file has

:syntax on :smartindent on

Thanks for any help.


VIM 'ftplugins' are there exactly for this purpose.



I like my python files correct, so my .vimrc has:

augroup filetypedetect
        au BufNewFile,BufRead *.py set ts=4 sw=4 et ai
augroup END

You should use :setl[ocal] instead of :set for things like ts, sw, et and ai.

However some things are global and can not be set per buffer and :syntax is one of them. You may try this to turn syntax off for current file:

:setl ft=

And as Jacek has pointed out ftplugins are the way.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.