Readline Key Bindings - Command Line Navigation & Editing

Master readline key bindings for efficient command-line navigation and text editing. Learn shortcuts for moving, cutting, pasting, history search, and auto-completion.

Readline Key Bindings

The readline library provides a powerful set of key bindings for editing and navigating command-line input. Mastering these shortcuts can significantly enhance your productivity when working in Unix-like shells such as Bash.

Command Line Navigation

Efficiently move your cursor around the current command line.

    Moving around
Ctrl-b      Move the cursor             one character               ⇦ to the left
Ctrl-f      Move the cursor             one character               ⇨ to the right
Alt-b       Move the cursor             one word                    ⇦ to the left
Alt-f       Move the cursor             one word                    ⇨ to the right
Ctrl-a      Move the cursor                                         ⇤ to the start of the line
Ctrl-e      Move the cursor                                         ⇥ to the end of the line
Ctrl-x-x    Move the cursor                                         ⇤⇥ to the start, and to the end again

Text Cutting, Copying, and Pasting

Manipulate text segments within the command line using these editing shortcuts.

    Cut, copy and paste
Backspace   Delete                      the character               ⇦ to the left of the cursor
DEL
Ctrl-d      Delete                      the character               underneath the cursor
Ctrl-u      Delete                      everything                  ⇤ from the cursor back to the line start
Ctrl-k      Delete                      everything                  ⇥ from the cursor to the end of the line
Alt-d       Delete                      word                        ⇨ until before the next word boundary
Ctrl-w      Delete                      word                        ⇦ until after the previous word boundary
Ctrl-y      Yank/Paste                  prev. killed text           at the cursor position
Alt-y       Yank/Paste                  prev. prev. killed text     at the cursor position

Command History Management

Access and search your command history with ease.

    History
Ctrl-p      Move in history             one line                    ⇧ before this line
Ctrl-n      Move in history             one line                    ⇩ after this line
Alt->       Move in history             all the lines               ⇩ to the line currently being entered
Ctrl-r      Incrementally search        the line history            ⇧ backwardly
Ctrl-s      Incrementally search        the line history            ⇩ forwardly
Ctrl-J      End an incremental search
Ctrl-G      Abort an incremental search and restore the original line
Alt-Ctrl-y  Yank/Paste                  arg. 1 of prev. cmnd        at the cursor position
Alt-.
Alt-_       Yank/Paste                  last arg of prev. cmnd      at the cursor position

Undo Functionality

Revert changes made to the current command line.

    Undo
Ctrl-_
Ctrl-x
Ctrl-u      Undo the last editing command; you can undo all the way back to an empty line
Alt-r       Undo all changes made to this line

Screen and Line Clearing

Manage the terminal display.

Ctrl-l      Clear the screen, reprinting the current line at the top
Ctrl-l      Clear the screen, reprinting the current line at the top

Tab Completion

Speed up command and file name entry with auto-completion.

    Completion
TAB         Auto-complete a name
Alt-/       Auto-complete a name (without smart completion)
Alt-?       List the possible completions of the preceeding text
Alt-*       Insert all possible completions of the preceeding text

Transposing Characters and Words

Swap characters or words for quick corrections.

    Transpose
Ctrl-t      Transpose/drag              char. before the cursor     ↷ over the character at the cursor
Alt-t       Transpose/drag              word before the cursor      ↷ over the word at/after the cursor

These readline key bindings are fundamental for efficient command-line usage. For more in-depth information, refer to the official GNU Readline documentation and explore the capabilities of your shell, such as Bash.