Expand tabs to spaces in vim only in python files?

10,974
autocmd Filetype python setlocal expandtab tabstop=4 shiftwidth=4

Or even shorter:

au Filetype python setl et ts=4 sw=4
Share:
10,974
Jonathan
Author by

Jonathan

Postdoctoral research in visual neuroscience.

Updated on June 25, 2022

Comments

  • Jonathan
    Jonathan almost 2 years

    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
    
  • Jonathan
    Jonathan about 12 years
    Thanks for answering my question so quickly (stackoverflow is making me wait several more minutes until I can accept it)!