Comment personnaliser l’invite zsh dans le terminal macOS

Depuis la mise à jour vers la version 10.15 Catalina, macOS inclut Z shell (zsh) par défaut au lieu de Bash dans l'application Terminal. Cela dit, vous obtenez toujours la même fenêtre noire avec du texte blanc à l'intérieur du terminal. Les choses ne doivent pas rester ainsi.

Vous pouvez embellir l'invite zsh pour la rendre minimale et tirer le meilleur parti de l'espace. Nous vous montrerons comment personnaliser l'invite zsh dans l'application Terminal pour vous démarquer sur l'arrière-plan de votre choix.

Principes de base de l'invite zsh

Lorsque vous lancez l'application Terminal, elle affiche des informations utiles, telles que 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
samir@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 de base.

Connexes: Comment ouvrir le terminal sur un Mac

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, connu sous le nom de fichier dot, pour votre profil zsh afin de stocker toutes les modifications et paramètres souhaités dans l'invite zsh.

Eh bien, 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 tels que l’invite zsh et son comportement.

Voici comment créer le profil zsh (dotfile):

1. Ouvrez l'application Terminal .

2. Tapez la commande suivante et appuyez sur la touche Retour.

 touch ~/.zshrc

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

Après cela, le profil zsh sera disponible pour la connexion et les shells interactifs chaque fois que vous lancerez Terminal. Cependant, il ne sera pas actif dans les sessions SSH.

Toutes les modifications que vous souhaitez apporter à l'invite zsh peuvent être incluses dans ce profil.

Personnaliser l'invite zsh dans le terminal

En général, l'invite zsh par défaut contient des informations telles que le nom d'utilisateur, le nom de l'ordinateur et l'emplacement commençant dans le répertoire de base 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 du MacBook.
  • Le symbole% 1 ~ désigne 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 fonctionne avec les privilèges root (administrateur), ou propose% 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 la valeur par défaut.

Voici comment procéder. Ouvrez Terminal , tapez la commande suivante et appuyez sur Entrée.

 nano ~/.zshrc

Il sera vide si vous y accédez pour la première fois. Vous pouvez ajouter une nouvelle ligne avec le texte PROMPT = '…' et inclure les valeurs pertinentes dans les ellipses.

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 pour confirmer et afficher les modifications que vous venez d'effectuer. Votre nouvelle invite zsh affichera le nom d'utilisateur de votre mac, le répertoire de base et le symbole $ à la fin.

Ajouter la date et l'heure dans l'invite zsh

Outre votre nom d'utilisateur, vous pouvez ajouter la date ou l'heure actuelle afin de ne pas avoir à 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

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

Si vous souhaitez inclure l'heure système dans l'invite zsh, ajoutez% T pour l'heure actuelle au format 24 heures,% t pour l'heure à afficher au format am / pm ou 12 heures, ou utilisez% * pour afficher le l'heure au format 24 heures avec les secondes.

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

Ajouter de la couleur au texte dans l'invite zsh

Êtes-vous ennuyé par le texte blanc de l'invite zsh? Outre la modification de l'application Terminal avec des couleurs, vous pouvez ajouter de la couleur au texte afin d'obtenir une belle pause visuelle.

Lancez Terminal et ouvrez le profil .zshrc.

 nano ~/.zshrc

Le zsh prend en charge la couleur et les nuances de gris pour le texte d'invite de sorte qu'il complète l'arrière-plan. Vous pouvez choisir une couleur de premier plan (texte) entre noir, blanc, jaune, vert, rouge, bleu, cyan et magenta.

Voici comment les utiliser.

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

Si vous souhaitez choisir une teinte spécifique, vous pouvez choisir entre 0 et 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 que vous souhaitez colorer.

Ajout d'effets visuels dans l'invite zsh

Si la coloration du texte de l'invite ne suffit pas, vous pouvez mettre en surbrillance votre invite zsh pour qu'elle ressorte au milieu du mur de texte, et vous pouvez facilement la repérer. 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 pertinent le mettra en gras.

De même, vous pouvez mettre% S au début et% s à la fin pour mettre le texte en surbrillance. La surbrillance portera la même couleur 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:~$'

Supprimer les derniers détails de connexion de l'invite zsh

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

 touch ~/.hushlogin

La prochaine fois que vous ouvrirez le terminal, vous ne verrez rien au-dessus de l'invite zsh.

Pimentez l'invite zsh dans le terminal

Même si vous utilisez occasionnellement l'application Terminal sur macOS, vous pouvez modifier la façon dont l'invite zsh y apparaît. Vous pouvez mettre en gras, souligner, raccourcir et même inclure la date et l'heure.

Maintenant que vous avez commencé à personnaliser l'invite zsh, expérimentez un peu et personnalisez-la.