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 selected lines: :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 line. 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 general principle. Another option is to indent your lines, and then use the `'[` and `']` 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 `dd>jjp` would also achieve the same result.