Comment personnaliser l’invite zsh dans le terminal macOS

Points clés à retenir

  • macOS vous permet de personnaliser l’invite zsh dans Terminal pour la faire ressortir et l’adapter à vos préférences.
  • Créez un profil .zshrc pour stocker toutes les modifications et paramètres souhaités dans l’invite zsh.
  • Modifiez l’invite zsh en ajoutant les valeurs souhaitées pour les variables telles que %n (nom d’utilisateur), %m (nom du modèle Mac), %W (date) et %T (heure).

Que vous souhaitiez que l’invite zsh utilise une couleur différente, affiche des détails supplémentaires ou adopte un aspect minimal pour tirer le meilleur parti de l’espace, macOS vous permet de le faire. Découvrez comment personnaliser l’invite zsh dans Terminal pour la faire ressortir quel que soit votre arrière-plan.

Notions de base de l’invite zsh

Lorsque vous ouvrez l’application Terminal sur votre Mac, elle affiche des informations utiles, comme votre dernière connexion et l’invite de commande. Voici à quoi ressemble généralement l’invite par défaut :

 Last login: Wed Feb 3 22:00:40 on console
alvin@MacBook-Air ~ %

L’invite zsh affiche une chaîne de texte composée de votre nom d’utilisateur et du modèle de votre ordinateur, comme MacBook Air, MacBook Pro, Mac mini, etc. Le tilde (~) indique l’emplacement de l’invite dans le répertoire personnel.

Si vous accédez à un autre répertoire de votre système de fichiers via Terminal, le nom du répertoire actuel sera affiché à la place du tilde.

Créer un profil Z Shell pour stocker tous les paramètres

En règle générale, vous devez bricoler les fichiers système pour modifier l’apparence par défaut. En effet, les mises à jour de macOS réinitialisent tous les fichiers système par défaut et vous perdrez toutes les modifications que vous apportez. Vous pouvez donc créer un fichier de paramètres spécifique (appelé fichier dot) pour votre profil zsh afin de stocker toutes les modifications et paramètres souhaités dans l’invite zsh.

Vous ne trouverez pas ce fichier dot par défaut sur macOS, vous devrez donc en créer un. Il est recommandé de créer un nouveau profil .zshrc pour stocker tous les paramètres, comme l’apparence et le comportement de l’invite zsh. Voici comment créer le profil zsh (dotfile) :

  • Ouvrez l’application Terminal.
  • Tapez la commande suivante et appuyez sur la touche Retour :
     touch ~/.zshrc 
  • La commande touch ne créera le fichier de profil .zshrc que s’il n’existe pas déjà. S’il existe déjà, la commande ne fera rien.

    Cela créera un profil .zshrc dans le répertoire personnel de votre compte utilisateur. Vous pouvez le voir sous le chemin /User// dans le Finder si vous avez activé l’affichage des fichiers système cachés sur votre Mac.

    Après cela, le profil zsh sera disponible pour les shells interactifs sans connexion à chaque fois que vous lancerez Terminal. Cependant, il ne sera utilisé pour les shells de connexion que si d’autres fichiers spécifiques à la connexion tels que .zprofile et .zlogin ne sont pas présents.

    Personnalisation de l’invite zsh dans le terminal

    En règle générale, l’invite zsh par défaut contient des informations telles que le nom d’utilisateur, le nom de la machine et l’emplacement commençant dans le répertoire personnel de l’utilisateur. Ces détails sont stockés dans le fichier système du shell zsh à l’emplacement /etc/zshrc :

     PS1="%n@%m %1~ %#" 

    Dans cette chaîne de variables :

    • %n est le nom d’utilisateur de votre compte.
    • %m est le nom du modèle de votre Mac.
    • %1~ signifie le chemin du répertoire de travail actuel, où le ~ supprime l’emplacement du répertoire $HOME.
    • %# signifie que l’invite affichera # si le shell s’exécute avec les privilèges root (administrateur) et % si ce n’est pas le cas.

    Pour apporter des modifications à l’invite zsh par défaut, vous devrez ajouter des valeurs pertinentes pour que l’invite apparaisse différemment de l’invite par défaut.

    Voici comment procéder. Ouvrez le Terminal, tapez la commande suivante et appuyez sur Retour :

     nano ~/.zshrc 

    Si le fichier de profil .zshrc existait auparavant, il est possible qu’il ne soit pas vide. Cependant, s’il n’existait pas lorsque vous avez exécuté la commande touch ci-dessus, il sera vide. Vous pouvez ajouter une nouvelle ligne avec le texte PROMPT=’…’ ou PS1=’…’ et inclure les valeurs pertinentes dans les points de suspension.

    Pour une simple modification de l’invite zsh, vous pouvez saisir ces valeurs dans le profil .zshrc :

     PROMPT='%n:~$' 

    Appuyez sur Ctrl + O pour confirmer les modifications apportées au fichier, puis appuyez sur Ctrl + X pour quitter l’éditeur nano.

    Ouvrez une nouvelle fenêtre de terminal en appuyant sur Cmd + T pour confirmer et afficher les modifications que vous venez d’apporter. Votre nouvelle invite zsh affichera le nom d’utilisateur de votre Mac, le répertoire personnel et le symbole $ à la fin. Vous pouvez ajouter un espacement dans la variable PROMPT ci-dessus entre %n, ~ et $ si vous préférez les variables espacées dans le terminal.

    Si vous souhaitez avoir un nom d’utilisateur personnalisé, remplacez %n par votre choix préféré. Voici un exemple :

     PROMPT='customusername~$' 

    Maintenant, si vous ouvrez une nouvelle fenêtre de terminal, vous verrez ce qui suit :

    Si vous souhaitez modifier manuellement un autre paramètre, vous pouvez le faire en remplaçant les variables par défaut en utilisant le format de la variable PS1 ci-dessus. Vous pouvez inclure ou supprimer des informations de l’invite zsh selon vos préférences.

    Si cela vous semble trop complexe, utilisez un site comme Générateur d’invite Zsh pour vous aider à personnaliser votre coque Z.

    Ajouter la date et l’heure à l’invite zsh

    Outre votre nom d’utilisateur, vous pouvez ajouter la date ou l’heure actuelle, vous n’avez donc pas besoin de détourner le regard de la fenêtre active du terminal pour vérifier ces informations.

    Lancez le Terminal et ouvrez le profil .zshrc :

     nano ~/.zshrc 

    Pour inclure la date dans l’invite, vous pouvez utiliser %D pour que la date apparaisse au format aa-mm-jj ou %W pour qu’elle apparaisse au format mm/jj/aa. Ensuite, la nouvelle invite apparaîtra comme ceci :

     PROMPT='%n:%W:~$' 

    Nous avons utilisé deux points (:) dans la variable PROMPT ci-dessus pour ajouter une séparation visuelle, mais vous pouvez utiliser un espace blanc ou autre chose. Par exemple, nous utilisons le signe supérieur à (>) pour séparer l’heure et le répertoire actuel.

    Si vous souhaitez inclure l’heure système dans l’invite zsh, ajoutez %T pour l’heure actuelle au format 24 heures, %t pour que l’heure apparaisse au format 12 heures, ou utilisez %* pour afficher l’heure au format 24 heures. -format heure avec secondes.

     PROMPT='%n@%T>~$' 

    Affichez la date et l’heure à droite de votre invite zsh

    Pour afficher les informations à droite de l’invite zsh, vous devez ajouter la variable RPROMPT au fichier zshrc. Par exemple, pour ajouter la date et l’heure, saisissez ce qui suit :

    RPROMPT='%D @ %T'

    Votre invite ressemblera maintenant à ceci :

    Ajouter de la couleur au texte dans l’invite zsh

    En plus de modifier l’application Terminal avec des couleurs, vous pouvez ajouter de la couleur au texte de votre profil zsh sur Mac pour obtenir une belle pause visuelle. Lancez Terminal et ouvrez le profil .zshrc :

     nano ~/.zshrc 

    Le shell Z prend en charge la couleur et les nuances de gris du texte d’invite pour compléter l’arrière-plan. Vous pouvez choisir une couleur de premier plan (texte) parmi ces choix : noir, blanc, jaune, vert, rouge, bleu, cyan et magenta. Voici comment les utiliser :

     PROMPT='%F{cyan}%n%f:~$' 

    Si vous souhaitez choisir une nuance de couleur zsh spécifique, vous pouvez choisir entre 256 couleurs 8 bits prises en charge par le terminal. Voici comment utiliser les valeurs numériques des couleurs :

     PROMPT='%F{51}%n%f:~$' 

    Vous devez placer les variables de couleur de premier plan par défaut %F et %f entre le texte pertinent que vous souhaitez colorer.

    Ajout d’effets visuels dans l’invite zsh

    Si colorer le texte de l’invite ne suffit pas, vous pouvez mettre en surbrillance votre invite zsh pour la faire ressortir au milieu du mur de texte. Pour commencer, vous pouvez mettre en gras l’invite zsh :

     PROMPT='%B%F{51}%n%f%b:~$' 

    Ajouter %B au début et mettre %b à la fin entre le texte concerné le rendra en gras.

    De même, vous pouvez mettre %S au début et %s à la fin pour surligner le texte. La surbrillance portera la même couleur que celle que vous avez choisie pour apparaître entre les variables %S et %s.

     PROMPT='%S%F{51}%n%f%s:~$' 

    Vous pouvez également souligner le texte de l’invite zsh. Pour ajouter un soulignement à une invite, vous pouvez inclure la variable %U au début et %u à la fin du texte concerné.

     PROMPT='%U%F{51}%n%f%u:~$' 

    Supprimez les derniers détails de connexion de l’invite zsh

    Masquer ou désactiver la ligne supérieure révélant l’heure de la dernière connexion dans l’application Terminal peut donner à votre invite zsh un aspect plus propre. Vous pouvez utiliser la commande suivante pour masquer ces informations :

     touch ~/.hushlogin 

    La prochaine fois que vous ouvrirez Terminal, vous ne verrez rien au-dessus de l’invite zsh.

    Réinitialisez votre personnalisation zsh

    Si vous avez besoin d’un nouveau départ, vous pouvez le faire en définissant la variable PROMPT ou PS1 sur la valeur par défaut :

     PROMPT="%n@%m %1~ %#" 

    Si vous avez ajouté des informations à droite de l’invite zsh à l’aide de RPROMPT, supprimez-les de .zshrc.

    Vous pouvez également supprimer en toute sécurité les variables PROMPT/PS1 et RPROMPT dans le fichier .zshrc. Ne vous inquiétez pas, car les paramètres du fichier .zshrc s’appliquent uniquement au profil utilisateur actuel. Si vous supprimez les deux, les paramètres par défaut stockés dans le fichier système du shell Z dans /etc/zshrc seront utilisés.

    Maintenant que vous avez tous les détails sur la façon de personnaliser l’invite zsh, expérimentez un peu et personnalisez-la. Vous pouvez mettre en gras, souligner, raccourcir et même inclure plus d’informations. Et si vous n’êtes pas satisfait des modifications, vous pouvez toujours revenir rapidement à l’apparence par défaut.