The expandtab property will ensure that when you hit tab it will actually use spaces. So first set the number of spaces a tab should be, then set expandtab.

set tabstop=2 shiftwidth=2 expandtab

Tabstop determines how many columns a tab counts for. Shiftwidth determines how many columns text is indented when using reindent operations. Expandtab is what actually uses spaces instead of tabs.

If you've got a file already full of tabs, converting to spaces is super easy. Make sure to follow step one first, then use retab.

Open the file and type:


This will fix all existing tabs.