The S, s, C, and c commands temporarily place a $ at the end of the text that they are going to change.
In input mode, all keystrokes are inserted into the text at the cursor's position, except for the following:
.-----.-----------------------------------------------------. | KEY | FUNCTION | |-----|-----------------------------------------------------| | ^@ | (Nul) Insert a copy of last input text, then exit | | ^A | Insert a copy of the last input text | | ^D | Delete one indent character | | ^H | (Backspace) Erase the character before the cursor | | ^I | (Tab) Depends on the inputtab option | | ^K | Compose the next two characters as a digraph | | ^L | Redraw the window | | ^M | (Enter) Insert a newline (^J, linefeed) | | ^O | Execute next key as a visual command | | ^P | Insert the contents of the cut buffer | | ^R | Redraw the screen, like ^L | | ^T | Insert an indent character | | ^U | Backspace to the beginning of the line | | ^V | Insert the following keystroke, even if special | | ^W | Backspace to the beginning of the current word | | ^X | Use the next two keystrokes as hex digits of 1 byte | | ^[ | (ESCape) Exit from input mode, back to command mode | ^-----^-----------------------------------------------------^Also, on some systems, ^S may stop output, ^Q may restart output, and ^C may interrupt execution.
The R visual command puts you in overtype mode, which is a slightly different form of input mode. In overtype mode, each time you insert a character, one of the old characters is deleted from the file.
There is no single standard for extended ASCII character sets. You can view or edit the digraph table via the :digraph ex command.
When inputting text, there are two ways you can type in a digraph. The first way is to type the first character, then hit backspace, and then type the second character. Elvis will then substitute the non-ASCII character in their place. Digraphs entered this way will not be recognized unless you've turned on the digraph option.
The other way is to type ^K followed by the two characters, without a backspace. This method works regardless of the value of the digraph option.
Elvis is distributed with a file named "lib/elvis.lat" which contains the :digraph commands necessary to set up the digraph table appropriately for Latin-1. Most of these digraphs are fairly straight-forward. For example, to generate an accented "i", type ^K, i, and an apostrophe character. You can list all of the digraphs via the command ":dig!"
The default lib/elvis.ini file reads the lib/elvis.lat file automatically. This is very handy if your system really does use Latin-1, but if it doesn't then you'll probably want to disable the automatic loading. You can disable it by editing the lib/elvis.ini file, searching for the "source! (elvispath("elvis.lat"))" line, and inserting a double-quote character at the start of that line.
Elvis doesn't perform the substitution until you type a non-alphanumeric character to mark the end of the word. If you type a control-V before that non-alphanumeric character, then Elvis will not perform the substitution.
Elvis also requires the abbreviated text to either appear at the start of a line, or immediately after a non-alphanumeric character. This prevents elvis from trying to treat the ends of words as abbreviations. This is necessary so that if you set up an abbreviation which maps "ed" to "editor", elvis won't mangle "confused" into "confuseditor".
Abbreviations are allowed to contain punctuation characters. For example, TeX users might find it useful to map "\b" to "\begin".
To add more leading whitespace, type control-T. To remove some whitespace, type control-D.
If you ":set noautotab", then the whitespace generated by control-T will always consist of spaces -- never tabs. Some people seem to prefer this.
Elvis' autoindent mode isn't 100% compatible with vi's. In Elvis, 0^D and ^^D don't work, ^U can wipe out all indentation, and sometimes Elvis will use a different amount of indentation than vi would.