Speed-Typing in Vim With Maps and Abbreviations
Better Than a Clipboard
June 29, 2009
Vim is still one of the most powerful text
editors out there. One of its more useful features is that it allows you to set up your
own abbreviations and mappings. These can speed up the typing of stock
phrases or do far more complicated things. Enter these in command mode to
try them out, or add them to your ~/.vimrc (without the initial colon) if you want them to stay.
Abbreviations (use iab for abbreviations that work only in insert
mode or ab for abbreviations that work in any mode) and mappings
(use imap for mappings that work in insert mode, or map for
mappings that work in multiple modes) are very similar. Broadly speaking, if
you're doing something you'd normally use the command-line mode for, use
a mapping. If you want a set of characters to expand into a longer string
while you're typing, use an abbreviation.
- The basic 'shorten a stock phrase' type abbreviation:
If you type YDATE, this will output a string like 'Mon May 04
11:01:58 2009'. (You can also use abbreviations to fix common typos,
:iab YDATE =strftime("%a %b %d %T %Y")
:iab teh the)
- Reformat the current paragraph according to the current textwidth by
- Underline the current line with ,u or double-underline it
with ,U (this is useful for text note files):
:imap ,u yypv$r-o
:imap ,U yypv$r=o
- Take out unwanted newlines: Turns every paragraph into a single line:
This is helpful when you're editing config files that need not have line
breaks (e.g. ~/.ssh/authorized_keys2), but you have your textwidth
set for normal reading of textfiles.
To list all the mappings that have been set, use :map.
Article courtesy of Serverwatch; Follow ServerWatch on Twitter