I’d use :%s/^/ /
You could also specify a range of lines :10,15s/^/ /
Or a relative range :.,+5s/^/ /
Or use regular expressions for the locations :/A/,/D/>
.
For copying code to paste on SO, I usually use sed from the terminal sed 's/^/ /' filename
Shortcut
I just learned a new trick for this. You enter visual mode v
, select the region (with regular movement commands), then hit :
which gives you this:
:'<,'>
ready for you to type just the command part of the above commands, the marks '<
and '>
being automatically set to the bounds of the visual selection.
To select and indent the current paragraph:
vip>
or
vip:>
followed by enter.
Edit:
As requested in the comments, you can also add spaces to the middle of a line using a regex quantifier \{n}
on the any meta-character .
.
:%s/^.\{14}/& /
This adds a space 14 chars from the left on each line. Of course %
could be replaced by any of the above options for specifying the range of an ex command.