Short answer: no.
You can use the
:global command to pick some lines to operate
on, and then give a sequence of commands to operate on those
:3,4 g/^/ > | m1
We're only interested in the range, but
:g also wants a pattern.
So in this case we'll just use
/^/ which will always match in a
This however moves each line in sequence which reverses the order
of the moved lines. A simple way to rectify this is to mark the
last inserted line (line 2 at this point) before you start the
:global and move the indented lines before it:
:k x | 3,4 g/^/ > | m 'x-
Or you could shift each line up by 2, provided you know you've
inserted exactly 2 new lines:
:3,4 g/^/ > | m-2
That's hardly a condensing of the original command but shows the
Another option is to indent your lines, and then use the
marks, which delimit previously changed text:
:3,4> | '[,']m1
This still isn't a condensing, but for more complicated ranges it may be worth
the effort, and might be your best bet. But maybe for simple edits do the simple thing.
Finally: I guess we're talking about general principles here. But in this
particular case, after your step #2, the Normal mode commands
also achieve the same result.