Comment installer et configurer ZSH comme shell par défaut

Si vous en avez assez de l’auto-complétion limitée et des fonctionnalités de base de votre terminal, vous n’êtes pas seul. La plupart des développeurs finissent par dépasser le shell par défaut de leur système, surtout lorsqu’ils travaillent sur des projets JavaScript complexes ou gèrent plusieurs environnements de développement. ZSH (Z Shell) offre des fonctionnalités puissantes comme la complétion intelligente par tabulation, la coloration syntaxique et des options de personnalisation étendues qui peuvent considérablement améliorer votre productivité en ligne de commande.
Ce guide vous accompagne dans l’installation de ZSH comme shell par défaut sur les systèmes macOS et Linux, couvrant tout depuis l’installation de base jusqu’à la personnalisation essentielle pour les flux de travail de développement web.
Points clés à retenir
- ZSH apporte des améliorations significatives de productivité par rapport aux shells par défaut grâce à l’auto-complétion, la coloration syntaxique et le support des plugins
- L’installation est simple sur tous les systèmes d’exploitation majeurs en utilisant les gestionnaires de paquets
- Définir ZSH comme shell par défaut nécessite la commande
chsh
et un redémarrage de session - Le fichier de configuration
.zshrc
contrôle tout le comportement et la personnalisation de ZSH - Le framework Oh My ZSH simplifie la gestion des plugins mais n’est pas requis pour une utilisation basique de ZSH
- Les plugins essentiels pour les développeurs incluent les suggestions automatiques, la coloration syntaxique et l’intégration Git
Comprendre ZSH et ses avantages pour les développeurs
ZSH est un shell Bourne étendu avec de nombreuses améliorations par rapport à Bash, le shell par défaut sur la plupart des systèmes de type Unix. Conçu pour l’utilisation interactive et les scripts, ZSH fournit des fonctionnalités qui rendent les tâches de développement quotidiennes plus efficaces.
Les principaux avantages incluent :
- Auto-complétion avancée : Suggestions contextuelles pour les commandes, chemins de fichiers et branches Git
- Coloration syntaxique : Validation de commandes en temps réel avec codage couleur
- Historique de commandes partagé : Accès à l’historique des commandes à travers plusieurs sessions de terminal
- Écosystème de plugins : Bibliothèque étendue de plugins pour les outils de développement
- Globbing amélioré : Correspondance de motifs plus puissante pour les opérations sur fichiers
Pour les développeurs JavaScript, l’intégration Node.js de ZSH et la complétion des commandes npm peuvent à elles seules faire gagner un temps considérable pendant le développement.
Prérequis et exigences système
Avant d’installer ZSH comme shell par défaut, assurez-vous d’avoir :
- Privilèges administrateur : Requis pour les modifications de shell au niveau système
- Accès terminal : Interface en ligne de commande sur votre système
- Git installé : Nécessaire pour la gestion des plugins et Oh My ZSH (si utilisé)
- Éditeur de texte : Pour l’édition des fichiers de configuration
Vérifiez votre shell actuel avec :
echo $SHELL
Comment installer ZSH sur différents systèmes
Installation de ZSH sur macOS
macOS inclut ZSH par défaut depuis Catalina (10.15), mais vous pourriez vouloir une version plus récente. Utiliser Homebrew garantit d’obtenir les dernières fonctionnalités :
# Installer Homebrew si pas déjà installé
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# Installer ZSH
brew install zsh
# Vérifier l'installation
zsh --version
Installation de ZSH sur Ubuntu/Debian
Les dépôts de paquets d’Ubuntu incluent ZSH. Installez-le avec APT :
# Mettre à jour les informations des paquets
sudo apt update
# Installer ZSH
sudo apt install zsh -y
# Vérifier l'installation
zsh --version
Installation de ZSH sur d’autres distributions Linux
Pour les autres distributions, utilisez le gestionnaire de paquets approprié :
Fedora/CentOS/RHEL :
sudo dnf install zsh
# ou pour les versions plus anciennes
sudo yum install zsh
Arch Linux :
sudo pacman -S zsh
openSUSE :
sudo zypper install zsh
Définir ZSH comme shell par défaut
Après l’installation, vous devez configurer ZSH comme shell par défaut. Cela nécessite la commande chsh
(change shell) :
# Définir ZSH comme shell par défaut
chsh -s $(which zsh)
La commande which zsh
trouve automatiquement le chemin d’installation de ZSH, évitant les erreurs dues à des chemins incorrects.
Considérations importantes :
- Vous devrez saisir votre mot de passe lorsque demandé
- Les changements prennent effet après déconnexion et reconnexion
- Certains systèmes nécessitent un redémarrage complet
Vérifiez que le changement a fonctionné :
echo $SHELL
La sortie devrait afficher le chemin vers ZSH (typiquement /bin/zsh
ou /usr/bin/zsh
).
Configuration initiale de ZSH
Lorsque vous lancez ZSH pour la première fois, vous verrez un assistant de configuration avec plusieurs options :
- Appuyez sur 0 : Créer un fichier
.zshrc
vide (configuration manuelle) - Appuyez sur 1 : Accéder au menu de configuration principal
- Appuyez sur 2 : Utiliser les paramètres par défaut recommandés
- Appuyez sur q : Quitter et configurer plus tard
Pour les débutants, l’option 2 fournit des paramètres par défaut sensés. Les utilisateurs avancés pourraient préférer l’option 0 pour un contrôle complet.
Le fichier .zshrc
dans votre répertoire personnel contrôle le comportement de ZSH, similaire à .bashrc
pour Bash. Vous pouvez l’éditer à tout moment :
nano ~/.zshrc
Après avoir apporté des modifications, rechargez la configuration :
source ~/.zshrc
Personnalisation essentielle de ZSH
Thèmes et apparence
ZSH inclut plusieurs thèmes intégrés. Pour changer de thème, éditez la ligne ZSH_THEME
dans votre .zshrc
:
# Exemples de configurations de thèmes
ZSH_THEME="agnoster" # Thème populaire avec intégration Git
ZSH_THEME="robbyrussell" # Thème par défaut, minimal
ZSH_THEME="jonathan" # Thème épuré avec horodatage
Bases de la gestion des plugins
Le système de plugins de ZSH étend considérablement les fonctionnalités. Les plugins essentiels pour les développeurs incluent :
Suggestions automatiques (complétion de commandes basée sur l’historique) :
# Cloner le plugin
git clone https://github.com/zsh-users/zsh-autosuggestions ~/.zsh/zsh-autosuggestions
# Ajouter au .zshrc
echo "source ~/.zsh/zsh-autosuggestions/zsh-autosuggestions.zsh" >> ~/.zshrc
Coloration syntaxique (validation de commandes en temps réel) :
# Cloner le plugin
git clone https://github.com/zsh-users/zsh-syntax-highlighting ~/.zsh/zsh-syntax-highlighting
# Ajouter au .zshrc
echo "source ~/.zsh/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" >> ~/.zshrc
Introduction au framework Oh My ZSH
Oh My ZSH est un framework populaire qui simplifie la configuration de ZSH et la gestion des plugins :
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
Oh My ZSH fournit :
- Plus de 300 plugins prêts à utiliser
- Plus de 150 thèmes
- Fonctionnalité de mise à jour automatique
- Gestion de configuration simplifiée
Après l’installation, éditez ~/.zshrc
pour activer les plugins :
plugins=(git node npm docker zsh-autosuggestions zsh-syntax-highlighting)
Configuration axée développement
Intégration Git et alias
ZSH excelle dans l’intégration des flux de travail Git. Ajoutez ces alias à votre .zshrc
:
# Alias Git
alias gs="git status"
alias ga="git add"
alias gc="git commit"
alias gp="git push"
alias gl="git log --oneline"
Améliorations pour le développement Node.js et JavaScript
Pour les développeurs JavaScript, ces plugins et configurations sont particulièrement utiles :
# Dans la section plugins du .zshrc
plugins=(git node npm yarn docker zsh-autosuggestions zsh-syntax-highlighting)
# Gestion des versions Node
alias nvm="fnm" # si vous utilisez fnm
alias node-version="node --version"
Conseils d’intégration terminal IDE
La plupart des IDE modernes supportent l’intégration ZSH :
- VS Code : Définissez
"terminal.integrated.defaultProfile.osx"
ou"terminal.integrated.defaultProfile.linux"
sur ZSH - WebStorm : Configurez dans Paramètres > Terminal > Chemin du shell
- Sublime Text : Mettez à jour les paramètres du plugin terminal
Résolution des problèmes courants
Conflits de PATH et résolution
Si les commandes ne sont pas trouvées après le passage à ZSH, vérifiez votre PATH :
echo $PATH
Ajoutez les chemins manquants à votre .zshrc
:
export PATH="/usr/local/bin:$PATH"
Problèmes de compatibilité des plugins
Si les plugins causent des problèmes :
- Désactivez temporairement les plugins en les commentant dans
.zshrc
- Rechargez la configuration avec
source ~/.zshrc
- Réactivez les plugins un par un pour identifier les conflits
Problèmes de performance et solutions
ZSH peut devenir lent avec trop de plugins. Optimisez en :
- Supprimant les plugins inutilisés
- Utilisant le chargement paresseux pour les plugins lourds
- Vérifiant le temps de démarrage avec
time zsh -i -c exit
Revenir au shell précédent
Si vous devez revenir à Bash :
chsh -s $(which bash)
Conclusion
Installer et configurer ZSH comme shell par défaut transforme votre expérience en ligne de commande du basique au puissant. La combinaison d’auto-complétion intelligente, de coloration syntaxique et d’un écosystème de plugins étendu rend les tâches de développement quotidiennes plus efficaces et agréables.
Commencez avec l’installation de base et la configuration par défaut, puis ajoutez progressivement des plugins et personnalisations au fur et à mesure que vous découvrez ce qui améliore votre flux de travail spécifique. L’investissement en temps de configuration est rentabilisé par une productivité accrue et une frustration réduite avec les tâches en ligne de commande.
FAQ
Exécutez `zsh --version` dans votre terminal. Si ZSH est installé, vous verrez les informations de version. Sinon, vous obtiendrez une erreur de commande introuvable.
Oui, vous pouvez exécuter ZSH à tout moment en tapant `zsh` dans votre terminal. Cependant, vous devrez le démarrer manuellement à chaque session sauf si vous le définissez comme shell par défaut.
ZSH n'importe pas automatiquement les configurations Bash. Vous devrez copier manuellement les alias et fonctions de votre `.bashrc` vers votre fichier `.zshrc`, bien que la plupart de la syntaxe Bash fonctionne dans ZSH.
La plupart des scripts Bash continueront de fonctionner car ZSH est largement compatible avec la syntaxe Bash. Cependant, certaines fonctionnalités avancées de Bash pourraient se comporter différemment, donc testez les scripts critiques après le changement.
Exécutez `uninstall_oh_my_zsh` depuis votre terminal. Cela supprime Oh My ZSH mais conserve votre installation ZSH intacte. Vous pouvez ensuite configurer ZSH manuellement ou essayer des frameworks alternatifs.