*** Navigation ***
Go to the beginning of the line (note that if you use GNU screen, you can use the Home button to do
this, especially considering that Ctrl-A is a special control character in screen).
Ctrl-E Go to the end of the line (note that if you use GNU screen, you can use the End button to do this).
Alt-B (or ESC, left arrow) Jump back one word using a non-alphanumeric character as delimiter.
Alt-F (or ESC, right arrow) Jump forward one word using a non-alphanumeric character as delimiter.
Ctrl-PGUP or Shift-PGUP
This may or may not work, and it works differently on different console apps. It will either scroll up
one line at a time, 1 page at a time, or it may not work at all. I'm inclined to think it's not a bash
shortcut at all.
Ctrl-PGDN or Shift-PGDN Same as the above but scrolling is done in the opposite direction.
Up/Down Previous/Next command in history. This one is way too obvious but I'm including it for completeness.
History search. For example, Ctrl-R svn Ctrl-R Ctrl-R … will cycle through all recently run commands
with the ‘svn’ in them. It is one of the most useful shortcuts in bash.
Ctrl-O Takes whatever line was after the line you selected with Ctrl-R and makes it your next command.
*** Command Line Manipulation ***
Ctrl-W Cut one word backwards using white space as delimiter.
Alt-BACKSPACE Cut one word backwards using a non-alphanumeric character as delimiter (different from Ctrl-W, for
example, abc;bcd will cut to abc;).
Ctrl-K Cut everything forward to end of line.
Ctrl-U Cut everything backwards to beginning of line.
Transpose the current character with the previous one. I almost never use this. Never mind, I never
use it, but someone might find it useful.
Alt-T Transpose the word at cursor with the one before cursor. In other words, swap them around.
Ctrl-Y Paste whatever was cut by the last cut command.
Insert the next character literally. For example, Ctrl-V TAB inserts the actual TAB character. This
shortcut is often misunderstood because of mistyping Ctrl-V and not realizing what it does.
Ctrl-_ Undo the last command. Don’t forget – it’s Ctrl-Shift-MINUS, not Ctrl-MINUS.
Alt-R Revert all changes to current line. Very useful if you accidentally modify a command in history.
Alt-U/Alt-L/Alt-C Uppercase/lowercase/capitalize from cursor to end of word and move cursor past end of word.
*** Terminal control ***
Ctrl-L Clear screen while keeping whatever is already typed in the command line intact.
Ctrl-S Suspend currently running terminal.
Unsuspend the terminal suspended by Ctrl-S. You need to be aware of this shortcut because 99% of
the time you’ve accidentally pressed Ctrl-S and need to undo its effects.
Suspend the currently running process (usually followed by bg to resume it in the background or fg to
resume in the foreground).
Autocomplete. Start typing, then hit TAB. You will either get a list of possible completion values (2
TABs needed) or the only choice will be filled in (only 1 TAB is needed). This shortcut is quite obvious
and well known, so I put it at the bottom of the list.