Jonathan
Jonathan

Reputation: 5288

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

Upvotes: 38

Views: 12016

Answers (1)

Vlad the Impala
Vlad the Impala

Reputation: 15872

autocmd Filetype python setlocal expandtab tabstop=4 shiftwidth=4

Or even shorter:

au Filetype python setl et ts=4 sw=4

Upvotes: 68

Related Questions