Back

Personnaliser votre terminal avec les thèmes et plugins Oh My Zsh

Personnaliser votre terminal avec les thèmes et plugins Oh My Zsh

Votre terminal n’a pas besoin de ressembler à une relique des années 1980. Si vous passez des heures chaque jour en ligne de commande mais utilisez encore l’invite par défaut sans retour visuel, vous passez à côté de gains de productivité significatifs. Les bons thèmes et plugins Oh My Zsh peuvent transformer votre terminal d’une interface texte basique en un environnement de développement puissant et visuellement informatif.

Ce guide couvre tout ce dont vous avez besoin pour personnaliser votre configuration de terminal : changer les thèmes via la configuration .zshrc, installer des thèmes modernes comme Powerlevel10k, et activer les plugins essentiels pour les flux de travail de développement web. Vous apprendrez des techniques pratiques qui économisent les frappes de touches et fournissent un retour visuel instantané sur votre statut Git, la structure des répertoires et l’historique des commandes.

Points clés à retenir

  • Changez les thèmes Oh My Zsh en modifiant la variable ZSH_THEME dans .zshrc
  • Powerlevel10k offre le meilleur équilibre entre fonctionnalités et performances
  • Les plugins essentiels incluent git, zsh-autosuggestions et zsh-syntax-highlighting
  • Installez les plugins communautaires en clonant vers ~/.oh-my-zsh/custom/plugins/
  • Surveillez le temps de démarrage et supprimez les plugins inutilisés pour des performances optimales
  • Résolvez les problèmes d’affichage en installant les polices appropriées et en vérifiant l’encodage du terminal

Comment changer les thèmes Oh My Zsh via .zshrc

Processus d’installation rapide des thèmes

Changer votre thème Oh My Zsh nécessite de modifier une seule ligne dans votre fichier de configuration. Ouvrez votre fichier .zshrc :

nano ~/.zshrc

Trouvez la variable ZSH_THEME et remplacez la valeur actuelle :

ZSH_THEME="robbyrussell"  # Thème par défaut
ZSH_THEME="agnoster"      # Changer vers agnoster

Après avoir sauvegardé le fichier, rechargez votre configuration :

source ~/.zshrc
# ou
exec zsh

La commande exec zsh redémarre complètement votre session shell, ce qui est plus fiable lors du passage entre des thèmes avec différentes dépendances.

Prévisualiser les thèmes disponibles

Avant de vous engager sur un thème, explorez vos options. Oh My Zsh inclut plus de 100 thèmes intégrés situés dans ~/.oh-my-zsh/themes/. Listez-les avec :

ls ~/.oh-my-zsh/themes/

Pour un aperçu visuel, de nombreux thèmes incluent des captures d’écran dans le wiki Oh My Zsh. Vous pouvez également tester temporairement les thèmes en changeant la valeur ZSH_THEME et en rechargeant votre shell sans modifier définitivement votre configuration.

Meilleurs thèmes Oh My Zsh pour la productivité des développeurs

Powerlevel10k - Le champion de la performance

Powerlevel10k se distingue comme le thème le plus riche en fonctionnalités et le plus performant disponible. Ce n’est pas techniquement un thème Oh My Zsh mais fonctionne parfaitement avec le framework.

Installez Powerlevel10k :

git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k

Mettez à jour votre .zshrc :

ZSH_THEME="powerlevel10k/powerlevel10k"

Redémarrez votre terminal pour lancer l’assistant de configuration. Powerlevel10k fournit :

  • Invite instantanée : S’affiche immédiatement pendant que les plugins se chargent en arrière-plan
  • Intégration Git : Affiche la branche, le statut et les indicateurs d’avance/retard
  • Performance : 10 à 100 fois plus rapide que les autres thèmes riches en fonctionnalités
  • Personnalisation : Options de configuration étendues sans pénalités de performance

Thèmes Agnoster et Powerline

Le thème Agnoster a popularisé l’esthétique powerline avec ses séparateurs en flèche distinctifs et ses indicateurs de statut Git. Cependant, il nécessite des polices spécifiques pour s’afficher correctement.

Installez les polices Powerline :

git clone https://github.com/powerline/fonts.git --depth=1
cd fonts
./install.sh
cd ..
rm -rf fonts

Configurez votre terminal pour utiliser une police Powerline comme “Meslo LG S for Powerline” ou “Source Code Pro for Powerline”. Sans les polices appropriées, vous verrez des points d’interrogation ou des boîtes au lieu de flèches.

Définissez le thème :

ZSH_THEME="agnoster"

Agnoster affiche votre nom d’utilisateur, nom d’hôte, chemin du répertoire et statut Git dans des segments visuellement distincts. Il est idéal pour les développeurs qui travaillent sur plusieurs machines ou ont besoin d’une séparation visuelle claire entre différents types d’informations.

Thèmes minimalistes pour la vitesse

Si vous priorisez la vitesse de démarrage du terminal plutôt que les fonctionnalités visuelles, les thèmes minimalistes offrent les meilleures performances :

Eastwood : Affiche uniquement le répertoire et la branche Git

ZSH_THEME="eastwood"

Simple : Affiche le répertoire avec la branche Git entre parenthèses

ZSH_THEME="simple"

Minimal : Complètement dépouillé, sans couleurs ni intégration Git

ZSH_THEME="minimal"

Ces thèmes se chargent instantanément et consomment des ressources minimales, les rendant parfaits pour les machines plus anciennes ou lors du travail via des connexions SSH lentes.

Plugins Oh My Zsh essentiels pour le développement web

Plugins de productivité de base

Le plugin git est pré-installé et fournit des dizaines d’alias qui réduisent drastiquement la frappe. Au lieu de git status, utilisez gst. Remplacez git add --all par gaa. Le plugin inclut des raccourcis pour chaque opération Git courante.

Activez les plugins essentiels dans votre .zshrc :

plugins=(
  git
  zsh-autosuggestions
  zsh-syntax-highlighting
)

zsh-autosuggestions fournit une complétion de commande intelligente basée sur votre historique. Pendant que vous tapez, il suggère des commandes en texte gris. Appuyez sur la flèche droite pour accepter les suggestions.

Installez-le :

git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions

zsh-syntax-highlighting colore vos commandes pendant que vous tapez, facilitant la détection des fautes de frappe et la compréhension de la structure des commandes.

Installez-le :

git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting

Plugins spécifiques aux développeurs

Pour le développement Node.js, activez les plugins node et npm :

plugins=(git node npm zsh-autosuggestions zsh-syntax-highlighting)

Le plugin node fournit des informations de version et des alias utiles, tandis que npm ajoute des raccourcis pour les tâches courantes de gestion de paquets.

Si vous travaillez avec Docker, ajoutez les plugins docker et docker-compose pour la complétion de commandes et les alias :

plugins=(git docker docker-compose zsh-autosuggestions zsh-syntax-highlighting)

Pour les utilisateurs de VS Code, le plugin vscode ajoute la commande code et les raccourcis de projet :

plugins=(git vscode zsh-autosuggestions zsh-syntax-highlighting)

Gestion des fichiers et répertoires

Plusieurs plugins rationalisent les opérations sur les fichiers :

copydir : Copie le chemin du répertoire actuel vers le presse-papiers

copydir  # Copie le chemin actuel
cd /some/other/location
cd $(pbpaste)  # Navigue en arrière en utilisant le presse-papiers (macOS)

copyfile : Copie le contenu du fichier vers le presse-papiers

copyfile package.json  # Copie le contenu du fichier

dirhistory : Navigue dans l’historique des répertoires avec des raccourcis clavier

  • Alt+Gauche : Répertoire précédent
  • Alt+Droite : Répertoire suivant
  • Alt+Haut : Répertoire parent

Ajoutez-les à votre tableau de plugins :

plugins=(git copydir copyfile dirhistory zsh-autosuggestions zsh-syntax-highlighting)

Installation et gestion des plugins Oh My Zsh

Méthodes d’installation des plugins

Les plugins Oh My Zsh se divisent en deux catégories : intégrés et développés par la communauté. Les plugins intégrés sont situés dans ~/.oh-my-zsh/plugins/ et doivent seulement être ajoutés à votre tableau de plugins.

Les plugins communautaires nécessitent une installation manuelle. Clonez-les vers le répertoire de plugins personnalisés :

git clone https://github.com/plugin-author/plugin-name ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/plugin-name

Puis ajoutez le nom du plugin à votre .zshrc :

plugins=(git plugin-name)

Configuration et mises à jour des plugins

Maintenez vos plugins à jour en exécutant périodiquement :

cd ~/.oh-my-zsh/custom/plugins/plugin-name
git pull

Pour les plugins intégrés, utilisez le mécanisme de mise à jour d’Oh My Zsh :

omz update

Surveillez les temps de chargement des plugins si votre shell devient lent :

time zsh -i -c exit

Si le temps de démarrage dépasse 1-2 secondes, considérez supprimer les plugins inutilisés ou passer à des alternatives plus légères.

Optimisation des performances pour Oh My Zsh

Optimisation du temps de démarrage

Oh My Zsh peut devenir lent avec trop de plugins. Profilez votre temps de démarrage :

time zsh -i -c exit

Identifiez les plugins lents en les désactivant temporairement et en mesurant la différence. Les coupables de performance courants incluent :

  • Les plugins qui font des requêtes réseau
  • Les thèmes avec une vérification complexe du statut Git
  • Les plugins avec des scripts d’initialisation lourds

Considérez le chargement paresseux pour les plugins que vous n’utilisez pas immédiatement :

# Charger NVM seulement quand nécessaire
export NVM_LAZY_LOAD=true

Gestion de la mémoire et des ressources

Certains plugins entrent en conflit entre eux ou dupliquent des fonctionnalités. Évitez les plugins redondants :

  • N’utilisez pas à la fois zsh-autosuggestions et zsh-autocomplete
  • Supprimez les plugins obsolètes comme zsh-reload (utilisez exec zsh à la place)
  • Désactivez les plugins pour les outils que vous n’utilisez pas

Surveillez l’utilisation des ressources avec :

ps aux | grep zsh

Personnalisation avancée d’Oh My Zsh

Création de thème personnalisé

Créez un thème personnalisé en copiant un thème existant :

cp ~/.oh-my-zsh/themes/robbyrussell.zsh-theme ~/.oh-my-zsh/custom/themes/mytheme.zsh-theme

Modifiez le fichier de thème pour personnaliser les couleurs, la mise en page et l’affichage des informations. Structure de base du thème :

PROMPT='%{$fg[cyan]%}%n%{$reset_color%}:%{$fg[green]%}%c%{$reset_color%}$(git_prompt_info) %# '
ZSH_THEME_GIT_PROMPT_PREFIX=" git:(%{$fg[red]%}"
ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}"
ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[blue]%}) %{$fg[yellow]%}✗%{$reset_color%}"
ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[blue]%})"

Définissez votre thème personnalisé :

ZSH_THEME="mytheme"

Bases du développement de plugins

Créez un plugin simple en créant un répertoire dans ~/.oh-my-zsh/custom/plugins/ :

mkdir ~/.oh-my-zsh/custom/plugins/myutils

Créez le fichier du plugin :

# ~/.oh-my-zsh/custom/plugins/myutils/myutils.plugin.zsh
function mkcd() {
  mkdir -p "$1" && cd "$1"
}

alias ll='ls -la'
alias ..='cd ..'
alias ...='cd ../..'

Activez votre plugin :

plugins=(git myutils)

Résolution des problèmes courants d’Oh My Zsh

Problèmes de police et d’affichage

Si vous voyez des points d’interrogation, des boîtes ou des caractères cassés :

  1. Installez les polices Powerline : De nombreux thèmes nécessitent des polices spéciales
  2. Configurez la police du terminal : Définissez votre terminal pour utiliser une police compatible Powerline
  3. Vérifiez l’encodage du terminal : Assurez-vous que l’encodage UTF-8 est activé

Pour les utilisateurs d’iTerm2 :

  • Allez dans Préférences → Profils → Texte
  • Définissez la police sur “Meslo LG S for Powerline” ou similaire
  • Activez “Use built-in Powerline glyphs”

Conflits de plugins et erreurs

Problèmes courants et solutions :

Plugin ne se charge pas : Vérifiez que le nom du plugin correspond exactement au nom du répertoire

Démarrage lent : Désactivez les plugins un par un pour identifier le coupable

Commande non trouvée : Assurez-vous que les dépendances du plugin sont installées (par exemple, bat pour le plugin zsh-bat)

Alias Git ne fonctionnent pas : Vérifiez que le plugin git est activé et chargé avant les autres plugins liés à Git

Pour réinitialiser votre configuration :

cp ~/.zshrc ~/.zshrc.backup
cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc

Conclusion

Votre terminal est maintenant un environnement de développement puissant et visuellement informatif. La combinaison d’un thème approprié et de plugins soigneusement sélectionnés vous fera économiser d’innombrables frappes de touches et fournira un retour instantané sur votre contexte de développement. Commencez avec les plugins essentiels comme git, zsh-autosuggestions et zsh-syntax-highlighting, puis ajoutez progressivement des outils spécifiques aux développeurs selon les besoins de votre flux de travail. N’oubliez pas de surveiller les performances et de supprimer les plugins inutilisés pour maintenir des temps de démarrage optimaux.

FAQ

Installez les polices Powerline et configurez votre terminal pour utiliser une police compatible comme Meslo LG S for Powerline. Les caractères cassés sont généralement des symboles spéciaux qui nécessitent un support de police spécifique.

Non, vous ne pouvez utiliser qu'un seul thème à la fois. La variable ZSH_THEME accepte un seul nom de thème. Cependant, vous pouvez rapidement basculer entre les thèmes en changeant cette variable et en rechargeant votre shell.

Les plugins qui font des requêtes réseau, les vérificateurs de statut Git complexes et les gestionnaires de versions de langages comme nvm tendent à impacter le temps de démarrage. Utilisez la commande time pour mesurer le démarrage de votre shell et désactivez les plugins individuellement pour identifier les goulots d'étranglement de performance.

Naviguez vers chaque répertoire de plugin dans ~/.oh-my-zsh/custom/plugins/ et exécutez git pull. Les plugins intégrés se mettent à jour automatiquement quand vous exécutez omz update, mais les plugins personnalisés nécessitent des mises à jour manuelles.

Vérifiez si le plugin est obsolète ou si sa syntaxe a changé. De nombreux plugins plus anciens ont été remplacés par des alternatives plus récentes. Consultez la documentation du plugin et considérez passer à des alternatives activement maintenues si les problèmes persistent.

Listen to your bugs 🧘, with OpenReplay

See how users use your app and resolve issues fast.
Loved by thousands of developers