There are two usability tweaks that I would find it hard to live without: (1) red prompt on last-command failure, and (2) highlight what I type, dehighlight output:
Reason for 1 is obvious, 2 is more subtle: it helps my eye scan scrollback and identify what I've typed, which is what I'm scanning for 90% of the time.
Implementations vary, here's how I do it in zsh:
PS1='%(?.%K{cyan}%F{white}.%B%K{red}%F{white})XX%b%k%f %(?.%F{cyan}.%F{red})yyy%k%b%F{yellow}%(!.#.$)%f '
. Duplication is evil, but AFAIK necessary because the conditional (error check) is%(?
and I highlight both parts of my two-part prompt. Suggestions welcome for removing the duplication.zle_highlight=("default:fg=white")
(on a Solarized Dark term, where the default fg color is light gray. Adjust to fit your needs).
What problem are you trying to solve? Please think about that, and about your backup strategy, before you decide on any specific tools.
For example, here are several scenarios that I guard against in my backup strategy: