Je suis un grand fan de l’interface en ligne de commande…. Je déteste utiliser la souris de mon ordinateur ! Cela m’a motivé à rechercher de grands outils pour améliorer mon expérience utilisateur sur la CLI. J’ai découvert Oh-My-Zsh pendant mon stage. Des amis m’ont convaincu d’utiliser ce shell en raison de sa simplicité et de son adaptabilité. En prime, le CLI est extensible avec de nombreux plugins.
Voici une liste de ses capacités :
- Validation des commandes
- Correction de l’orthographe
- Partage de l’historique des commandes entre tous les shells en cours d’exécution
- Les invites mémorisables (Agnoster, RobbyRussell, ….)
- Historique des répertoires
- Scripts de démarrage/arrêt via
zshenv
,zprofile
,zshrc
,zlogin
, etzlogout
- Fortes capacités de complétion automatique. Vous pouvez utiliser la touche TAB pour naviguer entre les différentes options et utiliser la touche entrée pour sélectionner le bon dossier. Bash, par exemple, imprimerait toutes les options. Ceci est assez spammy et pollue votre scrollback.
- Ajouter des plugins : par exemple le plugin Git avec une énorme liste d’alias Git utiles.
Ce plugin montre la branche active et donne un retour visuel sur votre statut Git :
– Vert : branche si aucun changement n’a eu lieu
– Jaune avec une icône en forme de cercle : fichiers non suivis
– Jaune avec une icône en forme de plus : fichiers prêts à être livrés
J’effectue ce guide d’installation sur ma machine virtuelle Ubuntu 16.04. Pour vous montrer la puissance sous-jacente de Oh-My-Zsh, je vais installer le plugin Git (Git-core). Ce plugin donne un retour visuel sur le statut Git d’un projet.
- Installer les paquets prérequis
$ sudo apt install git-core zsh - Installer Oh-My-Zsh à partir du dépôt de Robby Russell
$ sh -c “$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)” - Installer la police Powerline pour pimenter votre CLI avec des icônes
$ sudo apt install fonts-powerline - Changer le thème de ‘robbyrussell’ à ‘agnoster’ pour le légendaire thème Oh-My-Zsh
$ nano ~/.zshrc - Trouver la variable
ZSH_THEME
et la modifier:ZSH_THEME="agnoster"
- Je n’aime pas que le thème affiche mon nom d’utilisateur et mon hôte. Pour s’en débarrasser, nous changeons le répertoire en
$ cd ~/.oh-my-zsh/themes - Puis nous ouvrons le fichier du thème pour ‘agnoster’ dans l’éditeur
$ nano agnoster.zsh-theme - Maintenant nous pouvons changer le ‘Main prompt’. Nous n’avons pas besoin de prompt_context dans la fonction
build_prompt()
. Il suffit de commenter cette ligne ou de la supprimer. Enfin, changez la variablePROMPT
en$(build_prompt)
.
Pour voir réellement le thème, vous devez sourcer votre fichier .zshrc
comme ceci : source ~/.zshrc
. Si tout s’est bien passé, vous devriez voir quelque chose comme l’image de couverture!
Extra : Définir zsh comme notre shell par défaut. Exécutez ceci dans votre shell par défaut, dans la plupart des cas, ce sera bash. Si vous exécutez cette commande dans zsh, cela ne changera rien :
$ chsh -s $(which zsh)
Note : Si vous utilisez sudo
, cela changera le shell pour root, mais pas pour votre utilisateur de travail. En plus de cela, assurez-vous de vous déconnecter et de vous reconnecter pour voir les changements.
Installation des plugins
Tous les plugins listés sur la page Github des plugins sont préinstallés avec Oh-My-Zsh à ~/.oh-my-zsh/plugins
. Les plugins personnalisés peuvent être installés à ~/.oh-my-zsh/custom/plugins
. Pour utiliser un plugin, vous pouvez simplement l’ajouter à la liste des plugins dans votre fichier ~/.zshrc
. Ajoutez judicieusement, car trop de plugins ralentissent le démarrage du shell. Laissez un blanc entre chaque plugin.