Command Editing Shortcuts
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
Command Recall Shortcuts
Ctrl + R
– search the history backwards
Ctrl + G
– escape from history searching mode
Ctrl + P
– previous command in history (i.e. walk back through the command history)
Ctrl + N
– next command in history (i.e. walk forward through the command history)
Alt + .
– use the last word of the previous command
Command Control Shortcuts
Ctrl + L
– clear the screen
Ctrl + S
– stops the output to the screen (for long running verbose command)
Ctrl + Q
– allow output to the screen (if previously stopped using command above)
Ctrl + C
– terminate the command
Ctrl + Z
– suspend/stop the command
Bash Bang (!) Commands
Bash also has some handy features that use the ! (bang) to allow you to do some funky stuff with bash commands.
!!
– run last command
!blah
– run the most recent command that starts with ‘blah’ (e.g. !ls)
!blah:p
– print out the command that !blah would run (also adds it as the latest
command in the command history)
!$
– the last word of the previous command (same as Alt + .
)
!$:p
– print out the word that !$ would substitute
!*
– the previous command except for the last word (e.g. if you type _find somefile.txt /
, then !*
would give you _find somefile.txt
)
!*:p
– print out what !*
would substitute
Credit: https://stackoverflow.com/questions/327664/mac-os-x-terminal-map-optiondelete-to-backward-delete-word/58966776#58966776 (CC BY-SA 4.0)