Gagnez du temps avec un terminal surpuissant

Comment configurer un thème zsh de terminal ?
Le temps est une ressource précieuse. En tant que développeur, je souhaite être efficace et développer de belles features rapidement. J'utilise très souvent mon terminal pour lancer les commandes git
, mettre à jour mes projets, changer le php.ini
...
Ces commandes sont très monotones et répétitives. Je vais vous montrer aujourd'hui comment gagner un peu de temps grâce au thème de terminal ZSH.
![Invité de commande (terminal) personnalisé proposant auto-completion, correction de syntaxe]Link(https://algomax-public.s3.eu-west-3.amazonaws.com/starship_terminal_696fc275c1.gif)
Installer sur Ubuntu
1. Installation de ZSH, mise à jour du système
1sudo apt-get install zsh powerline fonts-powerline git -y2sudo apt-get update && sudo apt full-upgrade -y
2. Installation de Starship
1curl -sS https://starship.rs/install.sh | sh
3. Installation de Oh My Zsh. Il faudra fermer et rouvrir le terminal pour que les modifications soient prises en compte.
1sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
4. Installation des plugins ZSH
1git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions2git clone https://github.com/zsh-users/zsh-completions ${ZSH_CUSTOM:=~/.oh-my-zsh/custom}/plugins/zsh-completions3git clone https://github.com/zsh-users/zsh-syntax-highlighting ${ZSH_CUSTOM:=~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
5. Configuration de Starship et des plugins ZSH
1sudo nano ~/.zshrc
On va modifier le fichier ~/.zshrc
généré par Oh My Zsh et remplacer son contenu par :
1export ZSH="$HOME/.oh-my-zsh"23plugins=(4git5zsh-autosuggestions6zsh-completions7zsh-syntax-highlighting8)910source $ZSH/oh-my-zsh.sh1112eval "$(starship init zsh)"
6. Redémarrer le terminal
1source ~/.zshrc
7. Décollage 🚀
Vous êtes maintenant parés à utiliser ce terminal efficace et optimisé !
N.B : Vous développez des applications Javascript ? N'oubliez pas de réinstaller npm
ou nvm
!
Vous pouvez retrouver la documentation officielle de nvm
ici.
Installer sur Mac
1. Installation de Brew, le package manager macOS
1/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
2. Installation de ZSH
1brew install zsh
3. Installation, de Oh My Zsh
1sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
4. Installation de Starship
1curl -sS https://starship.rs/install.sh | sh
5. Installation des plugins ZSH
1git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions2git clone https://github.com/zsh-users/zsh-completions ${ZSH_CUSTOM:=~/.oh-my-zsh/custom}/plugins/zsh-completions3git clone https://github.com/zsh-users/zsh-syntax-highlighting ${ZSH_CUSTOM:=~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
6. Configuration de Starship et des plugins ZSH
1sudo nano ~/.zshrc
On va modifier le fichier ~/.zshrc
généré par Oh My Zsh et remplacer son contenu par :
1export ZSH="$HOME/.oh-my-zsh"23plugins=(4git5zsh-autosuggestions6zsh-completions7zsh-syntax-highlighting8)910source $ZSH/oh-my-zsh.sh1112eval "$(starship init zsh)"
7. Redémarrer le terminal
1source ~/.zshrc
8. Décollage 🚀
Vous êtes maintenant parés à utiliser ce terminal efficace et optimisé !
N.B : Vous développez des applications Javascript ? N'oubliez pas de réinstaller
npm
ou nvm
!
Vous pouvez retrouver la documentation officielle de nvm
ici.
Guide de l'installation sur Ubuntu avec explications
1. Télécharger Powerline
En premier lieu, nous avons besoin d'installer une police spéciale qui va nous permettre de voir des icônes et des indicateurs dans le terminal. Commencez par ouvrir votre terminal et entrez la commande suivante.
1sudo apt-get install zsh powerline fonts-powerline git curl -y
zsh
est l'interpréteur de commandes (shell) que nous allons utiliserpowerline
est un plugin pour notre terminal. C'est lui qui affiche les icônes de la branche active dans Git, de la version de PHP, etcfonts-powerline
est un repository possédant une trentaine de polices de terminal (avec icônes)git
est un outil de versionning que nous allons utiliser pour installer le thèmecurl
est un outil qui nous permet de télécharger des fichiers depuis le web-y
est un paramètre qui demande à Ubuntu de ne pas nous embêter à confirmer l'installation des paquets.
2. Mettre à jour les paquets
Nous allons mettre à jour les paquets pour installer leur dernière version. Pour cela, entrez la commande suivante.
1sudo apt-get update && sudo apt full-upgrade -y
3. Installer Oh My zsh
Oh My Zsh est un framework qui va nous aider à configurer notre terminal. Il nous propose plus de 275 plugins et de nombreux thèmes. Pour l'installer, il suffit de lancer la commande suivante dans le terminal.
1sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
Après l'installation, ZSH nous demande si on accepte d'en faire notre terminal par défaut. Après avoir répondu, il nous affiche un beau message de confirmation d'installation. Essayez de fermer votre terminel et de le rouvrir, vous verrez qu'il a bien changé 😄 .
4. Comprendre le fichier de configuration
Passons maintenant à un peu de configuration ! Notre terminal est beau, mais il n'est pas plus pratique pour autant. Nous allons maintenant modifier le fichier de configuration ~/.zshrc
, qui se trouve à la racine de votre dossier utilisateur. Pour l'ouvrir, il suffit de lancer la commande suivante. Je vous conseille d'utiliser sudo
pour être sûr de pouvoir le sauvegarder.
1sudo nano ~/.zshrc
On se retrouve avec un fichier contenant beaucoup de lignes ! ZSH est très configurable, et nous avons beaucoup de lignes commentées en bleu, préfixées par #
. Ce sont des exemples de syntaxes à titre indicatif pour nous indiquer les possibilités de configuration. Personnellement, je trouve que c'est illisible. J'ai supprimé tous les commentaires pour ne conserver que l'essentiel.
Voici les lignes qui restent après nettoyage :
1export ZSH="$HOME/.oh-my-zsh"2ZSH_THEME="robbyrussell"3plugins=(git)4source $ZSH/oh-my-zsh.sh
- La première ligne permet d'exporter une variable d'environnement, contenant le chemin vers la configuration de ZSH.
- La deuxième ligne permet de configurer le thème. Cependant ce n'est pas le thème robbyrussell qui est actif actuellement.
- La troisième ligne permet de configurer une liste de plugins. C'est la partie qui nous intéresse car nous allons en rajouter trois.
- La dernière ligne permet de charger la configuration de ZSH.
On sauvegarde la modification d'un fichier édité avec nano
avec les touches Ctrl + X
. L'éditeur nous demande si l'on souhaite sauvegarder, et nous répondons par Oui Y
ou Non N
, puis Entrée
. On peut également annuler une modification avec Ctrl + C
.
Maintenant, nous allons installer le thème starship
ainsi que quelques plugins et nous pourrons profiter d'un terminal très efficace !
5. Installer le thème starship
Starship est un thème pour ZSH qui propose une barre de statut avec des informations sur la branche Git, la version de PHP et plein de trucs sympa ! Nous allons donc l'installer avec la commande suivante.
1curl -sS https://starship.rs/install.sh | sh
Starship nous demande de valider l'installation avec Y
ou N
. Après avoir répondu, il nous affiche un beau message de confirmation d'installation. Nous allons maintenant configurer notre terminal pour qu'il utilise ce thème.
1sudo nano ~/.zshrc
Nous rajoutons la ligne eval "$(starship init zsh)"
à la fin du fichier ~/.zshrc
. Regardons à quoi il ressemble :
1export ZSH="$HOME/.oh-my-zsh"2ZSH_THEME="robbyrussell"3plugins=(git)4source $ZSH/oh-my-zsh.sh56eval "$(starship init zsh)"
6. Installer les plugins d'autocomplétion et de correction
Passons donc à la pratique en installant les plugins suivants :
zsh-autosuggestions
Ce plugin nous affiche des suggestions de commande en fonction de ce que nous avons déjà tapé. C'est très pratique pour éviter de retaper des commandes déjà saisies. Il suffit d'avoir une suggestion de d'appuyer sur → (flèche de droite) pour saisir la commande.
La commande suivante permet de l'installer au sein du dossier plugins de notre configuration oh-my-zsh
.
1git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
zsh-completions
Je n'ai pas réussi à comprendre le but de ce plugin, que je télécharge pourtant à chaque fois que je configure un nouveau terminal. Il permet d'ajouter des complétions de commandes supplémentaires.
1git clone https://github.com/zsh-users/zsh-completions ${ZSH_CUSTOM:=~/.oh-my-zsh/custom}/plugins/zsh-completions
zsh-syntax-highlighting
Ce plugin permet de colorer nos commandes en fonction de leur syntaxe. Si tu entres une commande erronée, elle sera colorée en rouge. Cela te permet de ne pas l'exécuter et de la corriger avant de la lancer.
Installons ce dernier plugin et nous serons enfin prêts.
1git clone https://github.com/zsh-users/zsh-syntax-highlighting ${ZSH_CUSTOM:=~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
Modifier la configuration
Maintenant, nous allons ouvrir à nouveau notre fichier de configuration ~/.zshrc
pour lui demander d'exécuter chacun de nos plugins quand il se lance.
1sudo nano ~/.zshrc
Et nous y collons le nom des trois nouveaux plugins.
1export ZSH="$HOME/.oh-my-zsh"2ZSH_THEME="robbyrussell"3plugins=(4git5zsh-autosuggestions6zsh-completions7zsh-syntax-highlighting8)910source $ZSH/oh-my-zsh.sh1112eval "$(starship init zsh)"
Il suffit à présent de redémarrer le terminal pour que les modifications soient prises en compte.
1source ~/.zshrc
Conclusion
Nous venons de configurer un terminal surpuissant. Bonne chance pour vos développements !