How to navigate long commands faster?
Some useful line editing key bindings provided by the Readline library:
- Ctrl + A: go to the beginning of line
- Ctrl + E: go to the end of line
- Alt + B: skip one word backward
- Alt + F: skip one word forward
- Ctrl + U: delete to the beginning of line
- Ctrl + K: delete to the end of line
- Alt + D: delete to the end of word
Some more shortcuts from here
Ctrl + a – Go to the start of the command line
Ctrl + e – Go to the end of the command line
Ctrl + k – Delete from cursor to the end of the command line
Ctrl + u – Delete from cursor to the start of the command line
Ctrl + w – Delete from cursor to start of word (i.e. delete backwards one word)
Ctrl + y – Paste word or text that was cut using one of the deletion shortcuts (such as the one above) after the cursor
Ctrl + xx – Move between start of command line and current cursor position (and back again)
Alt + b – Move backward one word (or go to start of word the cursor is currently on)
Alt + f – Move forward one word (or go to end of word the cursor is currently on)
Alt + d – Delete to end of word starting at cursor (whole word if cursor is at the beginning of word)
Alt + c – Capitalize to end of word starting at cursor (whole word if cursor is at the beginning of word)
Alt + u – Make uppercase from cursor to end of word
Alt + l – Make lowercase from cursor to end of word
Alt + t – Swap current word with previous
Ctrl + f – Move forward one character
Ctrl + b – Move backward one character
Ctrl + d – Delete character under the cursor
Ctrl + h – Delete character before the cursor
Ctrl + t – Swap character under cursor with the previous one
If you're a vi[m] and bash user, you may find it useful to make readline (used by bash) use vi-style editing by adding set editing-mode vi
to your ~/.inputrc
or /etc/inputrc
files. Or, you could just make bash use vi-style editing by running the bash command set -o vi
. Add the command to your ~/.bashrc
file to make the behavior persistent.
If you're a zsh user, add bindkey -v
to your .zshrc
file for vi-style editting.