Like vi, Emacs provides an "abbreviation" facility. Its
traditional usage lets you define abbreviations for long words or
phrases so you don't have to type them in their entirety. For
example, let's say you are writing a contract which repeatedly
references the National Institute of Standards and Technology. Rather
than typing the full name, you can define the abbreviation
nist
. Emacs inserts the full name whenever you type
nist
, followed by a space or punctuation mark. Emacs watches
for you to type an abbreviation, then expands it automatically as soon
as you press the space bar or type a punctuation mark (such as
. , ! ? ; :
).
One use for word abbreviation mode is to correct misspellings as you
type. Almost everyone has a dozen or so words that they habitually
type incorrectly, due to some worn neural pathways. You can simply
tell Emacs that these misspellings are "abbreviations" for the correct
versions, and Emacs fixes the misspellings every time you type
them. If you take time to define your common typos as abbreviations,
you'll never have to be bothered with teh
, adn
, and
recieve
when you run the spellchecker. Emacs sweeps up behind
your typos and corrects them. For example, let's say that you define
teh
as an abbreviation for the
. When you press the
space bar after you type teh
, Emacs fixes it immediately while
you continue happily typing. You may not even notice that you typed
the word wrong before Emacs fixes it.
Usually, if you go to the trouble of defining a word abbreviation, you will use it in more than one Emacs session. But if you'd like to try out abbreviation mode to see if you want to make it part of your startup, you can use the following procedure.
To define word abbreviations for this session:
Enter word abbreviation mode by typing ESC x abbrev-mode
.
abbrev
appears on the mode line.
Type the abbreviation you want to use
and press CTRL-x a
. Emacs then asks you for the expansion.
Type the definition for the abbreviation and press RETURN. Emacs then expands the abbreviation and will do so each time you type it followed by a space or punctuation mark. The abbreviations you've defined will work only during this Emacs session.
If you find that you like using word abbreviation mode, you may want to make it part of your startup, as described in the following section.
Once you become hooked on abbreviation mode, make it part of your .emacs file so that you enter abbreviation mode and load the file of your word abbreviations and their definitions automatically. To define word abbreviations and make them part of your startup:
Add these lines to your .emacs file:
(setq-default abbrev-mode t) (read-abbrev-file "~/.abbrev_defs") (setq save-abbrevs t)
Save the .emacs file and reenter Emacs.
Abbrev
appears on the mode line. (You'll get an error at this
point; ignore it - it won't happen again.)
Type an abbreviation you want to use and then type CTRL-x a
following the abbreviation. Emacs asks you for the expansion.
Type the definition for the abbreviation and press RETURN. Emacs expands the abbreviation and will do so each time you type it followed by a space or punctuation mark. You can define as many abbreviations as you want to by repeating steps 3 and 4.
Type ESC x write-abbrev-file
to save your abbreviations
file.
Emacs asks for the filename.
Type ~/.abbrev_defs
.
Emacs then writes the file. You need only take this step the first time
you define abbreviations using this procedure. After this file exists,
the lines in your .emacs file load the abbreviations file
automatically.
After you've followed this procedure the first time, you only need to
use steps 3 and 4 to define more abbreviations. When you add
word abbreviations in subsequent sessions, Emacs
asks whether you want to save the abbreviations file. Respond with a
y
to save
the new abbreviations you've defined and have them take effect
automatically.
If you define an abbreviation and later regret it, use edit-word-abbrevs to delete it.
-