How do I indent a single line multiple times in vi or vim?

VimViIndentationText Indent

Vim Problem Overview


I've found several answers on how to indent multiple lines in vim, I want to know how to take a single line and indent it more than once. In effect, I want a shorter version of the following command: ">>>>>>>>>>" (That is 10 right bracket "greater-than" signs.)

Vim Solutions


Solution 1 - Vim

Select what you want (typically with v or Shift+v) then type 5>.

If you need to fix or repeat the same selection, use gv.

Solution 2 - Vim

You can select the current line by pressing v, and then type 5> to indent the current line 5 times, the equivalent of pressing > 10 times.

Solution 3 - Vim

One of the answers to "How do I indent multiple lines quickly in vi" showed me a neat trick to remap > in visual mode to reselect visual mode. In your .vimrc...

vnoremap < <gv
vnoremap > >gv

Then I just select the line (or lines) you want to indent and press the appropriate direction as many times as you want.

Solution 4 - Vim

Indent once the use . to redo the previous command or u to undo it.

Solution 5 - Vim

From vim help: :help >
> To move a line several 'shiftwidth's, use Visual mode or the : commands. > > For example: > > Vjj4> move three lines 4 indents to the right > :<<< move current line 3 indents to the left > :>> 5 move 5 lines 2 indents to the right > :5>> move line 5 2 indents to the right

Or simply, >> and repeat the command with . in normal mode.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionCory KleinView Question on Stackoverflow
Solution 1 - VimldogView Answer on Stackoverflow
Solution 2 - Vimuser229044View Answer on Stackoverflow
Solution 3 - Vimdash-tom-bangView Answer on Stackoverflow
Solution 4 - VimTudorView Answer on Stackoverflow
Solution 5 - VimdlmeeteiView Answer on Stackoverflow