Command Line Editing (Bash Reference Manual)

From Get docs

8 Command Line Editing

This chapter describes the basic features of the GNU command line editing interface. Command line editing is provided by the Readline library, which is used by several different programs, including Bash. Command line editing is enabled by default when using an interactive shell, unless the --noediting option is supplied at shell invocation. Line editing is also used when using the -e option to the read builtin command (see Bash Builtins). By default, the line editing commands are similar to those of Emacs. A vi-style line editing interface is also available. Line editing can be enabled at any time using the -o emacs or -o vi options to the set builtin command (see The Set Builtin), or disabled using the +o emacs or +o vi options to set.

Introduction and Notation    Notation used in this text.
Readline Interaction    The minimum set of commands for editing a line.
Readline Init File    Customizing Readline from a user’s view.
Bindable Readline Commands    A description of most of the Readline commands available for binding
Readline vi Mode    A short description of how to make Readline behave like the vi editor.
Programmable Completion    How to specify the possible completions for a specific command.
Programmable Completion Builtins    Builtin commands to specify how to complete arguments for a particular command.
A Programmable Completion Example    An example shell function for generating possible completions.