====== General Bash-ery ======
* ''Ctrl + a'', move to the beginning of the line
* ''Ctrl + e'', move to the end of the line
* ''Ctrl + k'', Cut the Line after the cursor to the clipboard.
* ''Ctrl + u'', Cut the Line before the cursor to the clipboard.
* ''Ctrl + y'', paste last value in clipboard
* ''Meta + y'', cycle through previous values in clipboard
=== 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.
====== 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---------------------------