The languages we use to communicate contain a large amount of redundancy. Given the first few letters of a word, for instance, it's not too difficult to predict what should come next. Try it! You can probably easily guess how to fill in the missing letters in the following sentence:
Giv th fir fe lett o a wor i no diffi t predi wh shou com nex.
This is even more true of the languages used to communicate with computers, which typically have very restricted vocabularies and rigidly defined grammars. Redundancy occurs on many levels: on the level of individual characters (as illustrated above), on the level of words (we can often predict quite accurately what words are likely to come next in a sentence, based on grammar and usage), and perhaps even on higher levels. Predictive completion exploits this redundancy by attempting to complete what you are trying to type before you've finished typing it.
The predictive completion package described here is an add-on to the GNU
Emacs editor, which implements a new minor-mode called
predictive-mode (see Minor Modes). When this predictive completion minor-mode is switched on,
Emacs will try to complete the word you are typing based on the
characters typed so far. As you add characters, it can look up words
starting with those characters in a dictionary, and offer to insert the
most likely ones. How you choose which completion (if any) to insert
depends on various customization settings, some more intrusive than
Note that by only taking into account characters belonging to the current word when predicting how to complete it, much of the redundancy in language remains unexploited. This limitation is partly for simplicity, but also because some of the benefits of predictive completion would be lost if context (i.e. the preceding words and sentences) was also taken into account.
What benefits does predictive completion bring?
Whether predictive mode really speeds up typing or not is debatable. At the very least it depends on the context in which predictive mode is used. Although you have to type less, you have to process more information as you type, to decide whether to accept the offered completion or whether to add more characters to narrow down the completions to word you want. And this increased “cognitive load” might wipe out the advantage of having to type fewer characters. Studies indicate that the cognitive does increase, but whether or not this negates all speed advantage to predictive completion systems is less clear. It seems plausible that the more you use predictive mode, the better you will become at quickly evaluating the possible completions. Also, with the default settings, there is nothing to stop you typing normally and ignoring the completions entirely until you want to make use of them. In the end, the only way to find out is to try it and see!