====== ZSH ====== * [[https://stackoverflow.com/questions/19901044/what-is-k-f-in-oh-my-zsh-theme]] * Syntaxe pour les thèmes de prompt: [[http://www.manpagez.com/man/1/zshmisc/]] * [[https://vincent.bernat.ch/fr/blog/2019-zsh-async-vcs-info]] * [[https://blog.stephane-robert.info/docs/admin-serveurs/linux/shells-linux/zsh/|Maîtrisez Zsh]] ==== Exécuter une commande après chaque commande saisie ==== [[https://superuser.com/questions/735660/whats-the-zsh-equivalent-of-bashs-prompt-command|Source]] 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" } ==== Désactiver la confirmation de rm * ==== [[https://stackoverflow.com/questions/27988160/why-does-rm-f-ask-me-for-confirmation-on-zsh|Source]] setopt rmstarsilent ==== Exécuter une fonction à chaque changement de dossier ==== function chpwd() { echo "PWD changed !" } ==== Plugins ==== * [[https://github.com/zsh-users/zsh-syntax-highlighting|zsh-syntax-highlighting]]: colorie la syntaxe des commandes saisies * [[https://github.com/zsh-users/zsh-autosuggestions|zsh-autosuggestions]]: affiche des suggestions basées sur les commandes précédentes ==== Script lu lors d'une exécution en SSH ==== 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]] * [[https://blog.flowblok.id.au/2013-02/shell-startup-scripts.html|Shell startup scripts]] ==== Oh-my-zsh ==== === Mettre à jour manuellement === [[https://blog.liplex.de/manually-update-oh-my-zsh/|Source]] omz update upgrade_oh_my_zsh # seems to be deprecated ==== Git prompt ==== Le désactiver sur un dépôt en particulier ([[https://github.com/ohmyzsh/ohmyzsh/issues/3284|source]]): git config oh-my-zsh.hide-status 1 ==== Date dans l'historique des commandes ==== history -f