viper: Deleting Text
4.2.5 Deleting Text
-------------------
There is one difference in text deletion that you should be aware of.
This difference comes from Emacs and was adopted in Viper because we
find it very useful. In Vi, if you delete a line, say, and then another
line, these two deletions are separated and are put back separately if
you use the ‘p’ command. In Emacs (and Viper), successive series of
deletions that are _not interrupted_ by other commands are lumped
together, so the deleted text gets accumulated and can be put back as
one chunk. If you want to break a sequence of deletions so that the
newly deleted text could be put back separately from the previously
deleted text, you should perform a non-deleting action, e.g., move the
cursor one character in any direction.
‘<count> x’
Delete <count> chars under and after the cursor.
‘<count> X’
Delete <count> chars before the cursor.
‘<count> d<move>’
Delete from point to endpoint of <count><move>.
‘<count> dd’
Delete <count> lines.
‘D’
The rest of the line.
‘<count> <<move>’
Shift the lines described by <count><move> one shiftwidth to the
left (layout!).
‘<count> <<’
Shift <count> lines one shiftwidth to the left.