16.2. Check Spelling Interactively with ispell
The original Unix spell-checking program, spell (Section 15.1), is fine
for quick checks of spelling in a short document, but it makes you
cry out for a real spellchecker, which not only shows you the
misspelled words in context, but offers to change them for you.
Go to http://examples.oreilly.com/upt3 for more information on: ispell
ispell, a very useful program
that's been ported to Unix and enhanced over the
years, does all this and more. Either it will be preinstalled or
you'll need to install it for your Unix version.
Here's the basic usage: just as with
spell, you spell check a document by giving
ispell a filename. But there the similarities
cease. ispell takes over your screen or window,
printing two lines of context at the bottom of the screen. If your
terminal can do reverse video, the offending word is highlighted.
Several alternate possibilities are presented in the upper-left
corner of the screen -- any word in
ispell's dictionary that differs
by only one letter, has a missing or extra letter, or transposed
letters.
Faced with a highlighted word, you have eight choices:
- SPACE
-
Press the spacebar to accept the current spelling.
- A
-
Type A to accept the current spelling, now and for
the rest of this input file.
- I
-
Type I to accept the current spelling now and for
the rest of this input file and also to instruct
ispell to add the word to your private dictionary.
By default, the private dictionary is the file
.ispell_words in your home directory, but it can
be changed with the -p option or by setting the
environment variable (Section 35.3)
WORDLIST to the
name of some other file. If you work with computers, this option will
come in handy since we use so much jargon in this business! It makes
a lot more sense to "teach" all
those words to ispell than to keep being offered
them for possible correction. (One gotcha: when specifying an
alternate file, you must use an absolute
pathname (Section 1.14), or
ispell will look for the file in your home
directory.)
- 0-9
-
Type the digit corresponding to one of
ispell's alternative suggestions
to use that spelling instead. For example, if you've
typed "hnadle," as I did when
writing this article, ispell will offer
0: handle in the upper-left corner of your screen.
Typing 0 makes the change and moves on to the next
misspelling, if any.
- R
-
Type R if none of
ispell's offerings do the trick
and you want to be prompted for a replacement. Type in the new word,
and the replacement is made.
- L
-
Type L if ispell
didn't make any helpful suggestions and
you're at a loss as to how to spell the word
correctly. ispell will prompt you for a lookup
string. You can use * as a wildcard character (it
appears to substitute for zero or one characters);
ispell will print a list of matching words from
its dictionary.
- Q
-
Type Q to quit, writing any changes made so far,
but ignoring any misspellings later in the input file.
- X
-
Type X to quit without writing any changes.
But that's not all!
ispell also saves a copy of your original file
with a .bak extension, just in case you regret
any of your changes. If you don't want
ispell making .bak files,
invoke it with the -x option.
How
about this: ispell knows about capitalization. It
already knows about proper names and a lot of common
acronyms -- it can even handle words like
"TEX" that
have oddball capitalization. Speaking of TEX,
ispell has special modes in which it recognizes
TEX constructions.
If ispell isn't on your system by
default, you should be able to find an installation of it packaged in
your system's own unique software-installation
packaging, discussed in Chapter 40.
In addition, you can also look for a newer spell-checking utility,
aspell ,
based on ispell but with improved processing.
Though aspell is being considered a replacement
for ispell, the latter is still the most commonly
found and used of the two.
-- TOR
 |  |  | 16. Spell Checking, Word Counting, and Textual Analysis |  | 16.3. How Do I Spell That Word? |
Copyright © 2003 O'Reilly & Associates. All rights reserved.
|
|