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. ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access