How to indent a selection in gVim (Win32)

Esc -> Shift+V -> Select Lines -> > >


If you first enter SHIFT-V, and than shift+arrows to select the text, it will indent. You can also use SHIFT-V, and use 'hjkl' to select the block.

If you use shift+arrows or the mouse to select a block of text, it does not work and the selection will be replaced with a '>'. This can be changed when you change selectmode;

set selectmode=mouse,key

  • default setting after behave mswin

set selectmode=key

  • now you can select with the mouse and press '>' to indent

set selectmode=

  • now you can select both with the mouse and shifted arrow keys and press '>' to indent

If you add this to your vimrc, do it after behave mswin


Related to this, I use a handy remap for visual mode that allows indenting the text multiple times while keeping your text selected. Similar to how visual studio lets you select and hit tab (or shift-tab) to indent.

Add the following to your .vimrc

" Pressing < or > will let you indent/unident selected lines
vnoremap < <gv
vnoremap > >gv

Also you can use == to have vim try and determine the correct indenting automatically. It will work on any line buy just placing the cursor there and pressing == or you can do fancy stuff like select the entire file and press == to fix all the indenting (works wonders on html generated by wysiwyg editors).