====== General Bash-ery ======
* ''Ctrl + a'', move to the beginning of the line
* ''Ctrl + e'', move to the end of the line
* ''Ctrl + b'', move back one character
* ''Ctrl + f'', move forward one character
* ''Ctrl + k'', Cut the Line after the cursor to the clipboard.
* ''Ctrl + u'', Cut the Line before the cursor to the clipboard.
* ''Ctrl + a'' then ''Ctrl + k'' to jump to the beginning and delete the line
* ''Ctrl + y'', paste last value in clipboard
* ''Meta + y'', cycle through previous values in clipboard
* ''Ctrl + d'', delete character after cursor
* ''Ctrl + h'', delete character before the cursor (backspace)
* ''Alt/Meta + b'', ''Alt + f'', move back and forward a word at a time
* ''Ctrl + w'', delete the word before the cursor
* ''Alt + d'', delete the word after the cursor
* ''Alt/Meta + w'', delete the word in front of the cursor
* ''Ctrl + _'' or ''Ctrl + Shift + _'', undo last change
=== Command Line History Search ===
Use ''Ctrl + r'' to reverse search command history and ''Ctrl + s'' to forward search. ''Esc'' selects the current line and restores it to the active command line. ''Ctrl + g'' cancels the history search without recalling a line to the active command line.
Add the following to the ''bashrc'' to disable the flow control function of ''Ctrl + s''
stty -ixon # enabled forward search with Ctrl+s by disabling XON/XOFF flow control
===== Command Line Editing =====
* ''export EDITOR=/bin/vi'' to make //vi// the default editor
* ''Ctrl+x+e'' to edit current command in default text editor.
* Opens the current command line in the default editor. For ''vi'' you can exit with '':cq'' to cancel the command.
* ''fc'', fixed command opens the last command in the editor
====== History ======
* ''history -a'', append the current session history to the history file
* ''history -s '', save the specified command line to history without executing it. Alternatively, prefix a line with the comment character (#) and it will be saved to history as a comment.
* ''history -d '', delete line or range of lines from history
====== Command Delimiter ======
Automatically run a command after every command ran in the shell that prints a line that includes the current time. It makes it easier to spot commands being ran when scrolling back in the terminal.
PROMPT_COMMAND='printf "\e[32m---------------------------$(date +%Y-%m-%dT%H:%M:%S%z)---------------------------\n\e[0m"'
Example output
---------------------------2023-04-07T21:12:28+0000---------------------------