Expand tabs to spaces in vim only in python files?


How do I have the tab key insert 4 spaces when I'm editing "*.py" files and not any other files?

Following a recommendation from Vim and PEP 8 -- Style Guide for Python Code, I installed vim-flake8 (and vim-pathogen). This gives warnings when PEP8 style guidelines are violated. This is great, but I would for tabs to be expanded automatically in the first place when editing python files. I would like to have tab key actually insert tabs when editing other types of files.

In other words, I want the following to apply when I'm editing python files and only python files:

set expandtab       " tabs are converted to spaces
set tabstop=4       " numbers of spaces of tab character
set shiftwidth=4    " numbers of spaces to (auto)indent
5/23/2017 12:02:03 PM

Accepted Answer

autocmd Filetype python setlocal expandtab tabstop=4 shiftwidth=4

Or even shorter:

au Filetype python setl et ts=4 sw=4
4/3/2012 2:54:14 AM

Licensed under: CC-BY-SA with attribution
Not affiliated with: Stack Overflow