Default Readline Commands

For detailed information, see GNU Readline Library manual:
type info readline for help.

Use bind Bash builtin to manipulate the Readline command bindings:
type help bind for help.

Commands For Moving

beginning-of-line (Ctrl-a)
Move to the start of the current line.
end-of-line (Ctrl-e)
Move to the end of the line.
forward-char (Ctrl-f)
Move forward a character.
backward-char (Ctrl-b)
Move back a character.
forward-word (Alt-f)
Move forward to the end of the next word.
backward-word (Alt-b)
Move back to the start of the current or previous word.
clear-screen (Ctrl-l)
Clear the screen and redraw the current line.

Commands For Manipulating The History

accept-line (ENTER)
Accept the line regardless of where the cursor is.
previous-history (Ctrl-p)
Move `back' through the history list, fetching the previous command.
next-history (Ctrl-n)
Move `forward' through the history list, fetching the next command.
beginning-of-history (Alt-<)
Move to the first line in the history.
end-of-history (Alt->)
Move to the end of the input history, i.e., the line currently being entered.
reverse-search-history (Ctrl-r)
Search backward starting at the current line and moving `up' through the history as necessary.
forward-search-history (Ctrl-s)
Search forward starting at the current line and moving `down' through the the history as necessary.
non-incremental-reverse-search-history (Alt-p)
Search backward starting at the current line and moving `up' through the history as necessary using a non-incremental search.
non-incremental-forward-search-history (Alt-n)
Search forward starting at the current line and moving `down' through the the history as necessary using a non-incremental search.
yank-nth-arg (Alt-Ctrl-y)
Insert the first argument to the previous command at point. With an argument n, insert the nth word from the previous command.
yank-last-arg (Alt-. or Alt-_)
Insert last argument to the previous command. With an argument, behave exactly like yank-nth-arg.

Commands For Changing Text

delete-char (Ctrl-d)
Delete the character at point.
backward-delete-char (BACKSPACE)
Delete the character behind the cursor.
quoted-insert (Ctrl-q or Ctrl-v)
Add the next character typed to the line verbatim.
transpose-chars (Ctrl-t)
Drag the character before the cursor forward over the character at the cursor, moving the cursor forward as well.
transpose-words (Alt-t)
Drag the word before point past the word after point, moving point past that word as well.
upcase-word (Alt-u)
Uppercase the current (or following) word.
downcase-word (Alt-l)
Lowercase the current (or following) word.
capitalize-word (Alt-c)
Capitalize the current (or following) word.

Killing And Yanking

kill-line (Ctrl-k)
Kill the text from point to the end of the line.
backward-kill-line (Ctrl-x BACKSPACE)
Kill backward to the beginning of the line.
unix-line-discard (Ctrl-u)
Kill backward from the cursor to the beginning of the current line.
kill-word (Alt-d)
Kill from point to the end of the current word, or if between words, to the end of the next word.
backward-kill-word (Alt-DEL)
Kill the word behind point.
unix-word-rubout (Ctrl-w)
Kill the word behind point, using white space as a word boundary.
yank (Ctrl-y)
Yank the top of the kill ring into the buffer at point.
yank-pop (Alt-y)
Rotate the kill-ring, and yank the new top.

Specifying Numeric Arguments

digit-argument (Alt-0, Alt-1, ... Alt--)
Add this digit to the argument already accumulating, or start a new argument. Alt-- starts a negative argument.
complete (TAB)
Attempt to perform completion on the text before point.
possible-completions (Alt-?)
List the possible completions of the text before point.
insert-completions (Alt-*)
Insert all completions of the text before point that would have been generated by possible-completions.
complete-filename (Alt-/)
Attempt filename completion on the text before point.
possible-filename-completions (Ctrl-x /)
List the possible completions of the text before point, treating it as a filename.
complete-username (Alt-~)
Attempt completion on the text before point, treating it as a username.
possible-username-completions (Ctrl-x ~)
List the possible completions of the text before point, treating it as a username.
complete-variable (Alt-$)
Attempt completion on the text before point, treating it as a shell variable.
possible-variable-completions (Ctrl-x $)
List the possible completions of the text before point, treating it as a shell variable.
complete-hostname (Alt-@)
Attempt completion on the text before point, treating it as a hostname.
possible-hostname-completions (Ctrl-x @)
List the possible completions of the text before point, treating it as a hostname.
complete-command (Alt-!)
Attempt completion on the text before point, treating it as a command name.
possible-command-completions (Ctrl-x !)
List the possible completions of the text before point, treating it as a command name.
dynamic-complete-history (Alt-TAB)
Attempt completion on the text before point, comparing the text against lines from the history list for possible completion matches.
complete-into-braces (Alt-{)
Perform filename completion and insert the list of possible completions enclosed within braces so the list is available to the shell.

Keyboard Macros

start-kbd-macro (Ctrl-x ()
Begin saving the characters typed into the current keyboard macro.
end-kbd-macro (Ctrl-x ))
Stop saving the characters typed into the current keyboard macro and save the definition.
call-last-kbd-macro (Ctrl-x e)
Re-execute the last keyboard macro defined, by making the characters in the macro appear as if typed at the keyboard.

Some Miscellaneous Commands

re-read-init-file (Ctrl-x Ctrl-r)
Read in the contents of the inputrc file, and incorporate any bindings or variable assignments found there.
abort (Ctrl-g)
Abort the current editing command and ring the terminal's bell (subject to the setting of bell-style).
do-uppercase-version (Alt-a, Alt-b, Alt-x, ...)
If the metafied character x is lowercase, run the command that is bound to the corresponding uppercase character.
prefix-meta (ESC)
Metafy the next character typed. This is for keyboards without a meta key. Typing `ESC f' is equivalent to typing Alt-f.
undo (Ctrl-_ or Ctrl-x Ctrl-u)
Incremental undo, separately remembered for each line.
revert-line (Alt-r)
Undo all changes made to this line. This is like executing the undo command enough times to get back to the beginning.
tilde-expand (Alt-&)
Perform tilde expansion on the current word.
set-mark (Ctrl-@)
Set the mark to the point. If a numeric argument is supplied, the mark is set to that position.
exchange-point-and-mark (Ctrl-x Ctrl-x)
Swap the point with the mark. The current cursor position is set to the saved position, and the old cursor position is saved as the mark.
character-search (Ctrl-])
A character is read and point is moved to the next occurrence of that character.
character-search-backward (Alt-Ctrl-])
A character is read and point is moved to the previous occurrence of that character.
insert-comment (Alt-#)
Without a numeric argument, the value of the comment-begin variable is inserted at the beginning of the current line.
glob-complete-word (Alt-g)
The word before point is treated as a pattern for pathname expansion, with an asterisk implicitly appended.
glob-expand-word (Ctrl-x *)
The word before point is treated as a pattern for pathname expansion, and the list of matching file names is inserted, replacing the word.
glob-list-expansions (Ctrl-x g)
The list of expansions that would have been generated by glob-expand-word is displayed, and the line is redrawn.
display-shell-version (Ctrl-x Ctrl-v)
Display version information about the current instance of Bash.
shell-expand-line (Alt-Ctrl-e)
Expand the line as the shell does. This performs alias and history expansion as well as all of the shell word expansions.
history-expand-line (Alt-^)
Perform history expansion on the current line.
operate-and-get-next (Ctrl-o)
Accept the current line for execution and fetch the next line relative to the current line from the history for editing.
edit-and-execute-command (Ctrl-x Ctrl-e)
Invoke an editor on the current command line, and execute the result as shell commands. Bash attempts to invoke $FCEDIT, $EDITOR, and emacs as the editor, in that order.