Vim: Convert Tabs to Spaces

Tyler Tyler (270)
Total time: 2 minutes 

Tabs are evil. This guide will show you how to convert tabs to spaces in Vim.

Posted in these interests:

vim
PRIMARY
23 guides

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:

:retab

This will fix all existing tabs.

Tyler's profile pictureTyler
Joined in 2015
Software Engineer and creator of howchoo.
Share this guide!
Related to this guide:
Vim undo branches
You probably already know how to use vim's basic undo and redo features. For a quick refresher, read this short tutorial on how to use vim redo and undo.
Dayne's profile picture DayneView
In these interests: vim
3 ways to use tabs in vim
Vim tabs can be a great way to visualize which files you currently have open. Many vim users get bogged down by them and either end up working too hard to use them or give up altogether.
Dayne's profile picture DayneView
In these interests: vim
Vim redo and undo
Learn how to undo and redo changes using vim. If you are brand new to vim, learn more about the basics in this intro to vim guide.
Dayne's profile picture DayneView
In these interests: vim
People also read:
Once you learn to think in text objects, you'll never be the same
Vim is a powerful tool. I often paste raw data into Vim in order to format it in a specific way, and sometimes I need to clean up the file by removing many blank lines.
One of the strengths of Vim is that it's highly customizable. And while remapping keys is possible, we often want to create shortcuts without changing the default key bindings.
If you find yourself highlighting text in Vim with your mouse to copy and paste it elsewhere, stop. There's a better way, using the yank command, to copy text into your clipboard on macOS or Windows.
Basic vim commands
Because you've accidentally opened Vim and don't know how to exit
Vim is amazing. Well, Python is doing all the work, but I still like Vim. Learn how to format JSON in Vim like a pro with this short guide! tl;dr Paste your json, and run this in vim normal mode. :%!
Need to change the case of characters to all caps or all lowercase? This is easily done using Vim. This guide will show you how to change the case of characters in Vim.
Posted in these interests:
vim
vim
23 guides 16 subscribers 
PRIMARY
Explore
Discuss this guide: