One thing I find life-changing is to remap the up arrow so that it does not iterates through all commands, but only those starting with the characters I have already written. So e.g. I can type `tar -`, then the up arrow, and get the tar parameters that worked last time. In zsh this is configured with bindkey "^[OA" up-line-or-beginning-search # Up bindkey "^[OB" down-line-or-beginning-search # Down
Did this many years ago (but with bash) -- life changing is an apt way of saying it.
bind '"\e[A"':history-search-backward
bind '"\e[B"':history-search-forward