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
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
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.