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 ). 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 ), or disabled using the +o emacs or +o vi options to set.

:    Notation used in this text.
:    The minimum set of commands for editing a line.
:    Customizing Readline from a user’s view.
:    A description of most of the Readline commands available for binding
:    A short description of how to make Readline behave like the vi editor.
:    How to specify the possible completions for a specific command.
:    Builtin commands to specify how to complete arguments for a particular command.
:    An example shell function for generating possible completions.