My .vimrc
, like any sane developer's, is configured to use spaces instead of tabs (with set expandtab
). But sometimes you do actually need to insert a literal tab character (like when you're editing tab-delimited data). The web is pretty unhelpful on this topic — most of its advice is directed toward turning tabs into spaces, not vice-versa. Fortunately, vi's own help content has the answer (:help expandtab
): in insert mode, just type [ctrl]-v [tab]
.
[Ctrl]-v
is also useful when you need to insert other control characters, like a carriage return ([ctrl]-v [ctrl]-m
), or a null ([ctrl]-v 0
), etc. And you can also use it to insert characters via their unicode code-points (like μ
[greek mu] with [ctrl]-v u03bc
).
The other option for inserting literal tabs (useful if you need a bunch of them) is to temporarily turn off the expandtab
setting, so that pressing [tab]
in insert mode actually just inserts a literal tab. You can temporarily toggle off the expandtab
setting with :set noexpandtab
(or just :set noet
), and then turn it back on again with :set expandtab
(or :set et
).
No comments:
Post a Comment