The GNU Readline library provides a set of functions for use by 
applications that allow users to edit command lines as they are
typed in. Both Emacs and vi editing modes are available. The 
Readline library includes additional functions to maintain a list 
of previously-entered command lines, to recall and perhaps reedit 
those lines, and perform csh-like history expansion on previous commands.

WWW: http://cnswww.cns.cwru.edu/php/chet/readline/rltop.html 
