Is there a way to indent a selection of lines in vim, like we have in text editors where we select a bunch of lines and press tab (or shift tab) to indent/unindent the selected lines? I am talking about general indentation and not related to code indentation.
You can select a set of lines with visual line mode (via shift + V), and then type
>
and, to dedent,
<
You can also add numeric arguments. Find out you didn't indent enough? Hit gv to re-select your previous selection.
While typing in normal mode, try out ctrl + T or ctrl + D to indent or dedent.
Use visual mode as Peter suggests. You can also use X>> where X
is the number of lines you want to indent. E.g. 5>> indents five lines from current line and down.
As suggested by the other answers you can use >. Alternatively, you can automatically correctly indent your code by selecting the set of line in visual mode (using shift+V), and then using =.
I use the following mappings to indent/unindent:
vmap <TAB> >gv
vmap <S-TAB> <gv
Use TAB to indent and shift-TAB to unindent the visually selected lines.
If a block is selected Vim indents/unindents what is right of the start of the block.
There's a Vim Cast on this topic:
http://vimcasts.org/episodes/indentation-commands/
I like Vim Casts. They are informative and pleasant to watch.