Input Mode Shortcuts
vi provides two ways to decrease the amount of typing you have to do: abbreviations and maps.
Word Abbreviation
:ababbr phraseDefine abbr as an abbreviation for phrase.
:abList all defined abbreviations.
:unababbrRemove definition of abbr.
Command and Input Mode Maps
:mapx sequenceDefine character(s) x as a sequence of editing commands.
:unmapxDisable the sequence defined for x.
:mapList the characters that are currently mapped.
:map!x sequenceDefine character(s) x as a sequence of editing commands or text that will be recognized in insert mode.
:unmap!xDisable the sequence defined for the insert mode map x.
:map!List the characters that are currently mapped for interpretation in insert mode.
For both command and insert mode maps, the map name x can take several forms:
- One character
When you type the character, vi executes the associated sequence of commands.
- Multiple characters
All the characters must be typed within one second. The value of
notimeoutchanges the behavior.#nFunction key notation: a
#followed by a digit n represents the sequence of characters sent by the keyboard’s function key number n.
To enter characters such as Escape (^[) or
carriage return (^M), first type
CTRL-V (^V).
Executable Buffers
Named buffers provide yet another way to create “macros”—complex command sequences you can repeat with a few keystrokes. Here’s how it’s done:
Type a vi command sequence or an ex command preceded by a colon; return to command mode.
Delete the text into a named buffer. ...