Normalement, Bash dispose de la variable d'environnement $PROMPT_COMMAND pour cela, mais elle n'existe pas en ZSH. Il est donc nécessaire d'émuler son comportement:
export PROMPT_COMMAND='pwd > "${XDG_RUNTIME_DIR}/.cwd"' precmd() { eval "$PROMPT_COMMAND" }
function chpwd() { echo "PWD changed !" }
Le fichier ~/.zshrc n'est pas lu lorsqu'on fait ssh server command. À la place, c'est le fichier ~/.zshenv qui est lu (pas de shabang au début).
L'équivalent de ~/.bash_profile est ~/.zprofile. Pour que les émulateurs de terminal le charge à chaque lancement d'un terminal, il faut activer l'option pour que ce soit un shell de connexion qui soit utilisé.
https://github.com/pyenv/pyenv/wiki/Unix-shell-initialization#zsh
omz update
upgrade_oh_my_zsh # seems to be deprecated
Le désactiver sur un dépôt en particulier (source):
git config oh-my-zsh.hide-status 1
history -f