4.2.3 Appending Text

See Options, to see how to change tab and shiftwidth size. See the GNU Emacs manual, or try C-ha tabs (If you have turned Emacs help on). Check out the variable indent-tabs-mode to put in just spaces. Also see options for word-wrap.

<count> a

<count> times after the cursor.

<count> A

<count> times at the end of line.

<count> i

<count> times before the cursor (insert).

<count> I

<count> times before the first CHAR of the line

<count> o

On a new line below the current (open). The count is only useful on a slow terminal.

<count> O

On a new line above the current. The count is only useful on a slow terminal.

<count> ><move>

Shift the lines described by <count><move> one shiftwidth to the right (layout!).

<count> >>

Shift <count> lines one shiftwidth to the right.

<count> ["<a-z1-9>]p

Put the contents of the (default undo) buffer <count> times after the cursor. The register will be automatically down-cased.

<count> ["<a-z1-9>]P

Put the contents of the (default undo) buffer <count> times before the cursor. The register will


Show contents of textmarker.


Show contents of register.

<count> .

Repeat previous command <count> times. For destructive commands as well as undo.

f1 1 and f1 2

While . repeats the last destructive command, these two macros repeat the second-last and the third-last destructive commands. See Vi Macros, for more information on Vi macros.

C-c M-p and C-c M-n

In Vi state, these commands help peruse the history of Vi’s destructive commands. Successive typing of C-c M-p causes Viper to search the history in the direction of older commands, while hitting C-c M-n does so in reverse order. Each command in the history is displayed in the minibuffer. The displayed command can then be executed by typing a period.

Since typing the above sequences of keys may be tedious, the functions doing the perusing can be bound to unused keyboard keys in the Viper customization file. See Viper Specials, for details.