29.2 Defining Abbrevs
C-x a g
Define an abbrev, using one or more words before point as its expansion
( add-global-abbrev
).
C-x a l
Similar, but define an abbrev specific to the current major mode
( add-mode-abbrev
).
C-x a i g
Define a word in the buffer as an abbrev ( inverse-add-global-abbrev
).
C-x a i l
Define a word in the buffer as a mode-specific abbrev
( inverse-add-mode-abbrev
).
M-x define-global-abbrev RET abbrev RET exp RET
Define abbrev as an abbrev expanding into exp.
M-x define-mode-abbrev RET abbrev RET exp RET
Define abbrev as a mode-specific abbrev expanding into exp.
M-x kill-all-abbrevs
Discard all abbrev definitions, leaving a blank slate.
The usual way to define an abbrev is to enter the text you want the
abbrev to expand to, position point after it, and type C-x a g
( add-global-abbrev
). This reads the abbrev itself using the
minibuffer, and then defines it as an abbrev for one or more words before
point. Use a numeric argument to say how many words before point should be
taken as the expansion. For example, to define the abbrev ‘ foo
’ as
mentioned above, insert the text ‘ find outer otter
’ and then type
C-u 3 C-x a g f o o RET
.
An argument of zero to C-x a g
means to use the contents of the
region as the expansion of the abbrev being defined.
The command C-x a l
( add-mode-abbrev
) is similar, but
defines a mode-specific abbrev for the current major mode. The
arguments work the same as for C-x a g
.
C-x a i g
( inverse-add-global-abbrev
) and C-x a i l
( inverse-add-mode-abbrev
) perform the opposite task: if the
abbrev text is already in the buffer, you use these commands to define
an abbrev by specifying the expansion in the minibuffer. These
commands will expand the abbrev text used for the definition.
You can define an abbrev without inserting either the abbrev or its
expansion in the buffer using the command define-global-abbrev
.
It reads two arguments—the abbrev, and its expansion. The command
define-mode-abbrev
does likewise for a mode-specific abbrev.
To change the definition of an abbrev, just make a new definition. When an abbrev has a prior definition, the abbrev definition commands ask for confirmation before replacing it.
To remove an abbrev definition, give a negative argument to the
abbrev definition command: C-u - C-x a g
or C-u - C-x a l
.
The former removes a global definition, while the latter removes a
mode-specific definition. M-x kill-all-abbrevs
removes all
abbrev definitions, both global and local.