The Readline library provides a set of functions that allow users to
edit command lines.
Both Emacs and vi editing modes are available.
The Readline library includes additional functions for maintaining a list of previously-entered command lines for recalling or editing those lines, and for performing csh-like history expansion on previous commands. The library is available as 32-bit and 64-bit.