The original UNIX spell checking program, spell (29.1), is fine for quick checks of spelling in a short document, but it makes you cry out for a real spelling checker, which not only shows you the misspelled words in context, but offers to change them for you.
ispell | ispell, a very useful program that's been ported to UNIX and enhanced over the years, does all this and more. 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:
Press the spacebar to accept the current spelling.
Type A
to accept the current spelling, now and for the
rest of this input file.
Type I
to accept the current spelling now and for the rest of
this input file, and also 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 can be changed
with the -p option or
by setting the
environment variable (6.1)
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 (1.19)
or ispell will look for the file in your home directory.)
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.
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.
Type L
if ispell didn't make any helpful suggestions,
and you're at a loss 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.
Type Q
to quit, writing any changes made so far, but ignoring any
misspellings later in the input file.
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. (This is starting to sound like a Ginsu knife commercial!) 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 (43.12), it even has a special mode in which it recognizes TeX constructions. (Too bad ispell doesn't know about troff (43.13).)
For even more features, see the manual pages stored with the program on the disc.
-