«
Stupid vim tricks
»
- In some projects, like PyObjC, the coding style is to use tabs in C/Objective-C code, and spaces in Python. I'm lazy, and haven't set it to do this on load, and I often forget to :set noet (not expand tabs) in vim. The quick trick I use to convert tabs to spaces (or vice versa) is to:
- set/unset et as appropriate
- make sure my sw (shiftwidth) and ts (tabstop) are both 4 (this is in my .vimrc)
- indent the block of code once (this converts, but gives me extra indent) with > in visual mode
- dedent it with < in visual mode
Voila, the whole mess is now converted from tabs to spaces or vice versa. Here's what I find to be comfortable in my .vimrc (I do have some custom stuff for python, pyrex, coloring, etc. but that's not as important):
set ffs=unix,dos,mac set ts=4 set bs=2 set et set sw=4 set sm set sta set sts=4 set ai