Emacs Auto-complete Mode
I’ve just discovered a new add-on for Emacs called auto-complete-mode. After watching the video I was skeptical: I thought “this is going to get annoying really fast. However, after giving it a quick try, it is pretty cool. I think it will be especially useful in programming modes, since it presents your own symbol values from the current buffer as completion values. Also, auto-complete-mode only tries to complete if you pause typing. You can also bind a specific key (the author recommends M-TAB) to initiate auto-completion.
So I just typed “auto-completion” and the first choice that came up when I paused after “auto-compl” was “auto-complete-mode,” but then I hit TAB after the menu comes up and “auto-completion” is there now too. In other words, auto-complete-mode is smart: it learns.