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.


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.