Quelques astuces Zsh qui vous en mettront plein la vue !

February 17, 2021
Rédigé par
Révisé par
Diane Phan
Twilion

Quelques astuces Zsh qui vous en mettront plein la vue !

En programmation basée sur UNIX, on parle souvent de shells, de terminaux et d'interfaces de ligne de commande. Si Bash est probablement le plus connu, il existe d'autres options largement utilisées, telles que Zsh, appelé également shell Z. Si vous voulez en savoir plus sur Zsh et glaner quelques conseils et astuces pour optimiser votre développement, continuez à lire !

Qu'est-ce que Zsh ?

Zsh, également connu sous le nom de shell Z, étend les capacités du shell (sh) Bourne afin d'offrir des fonctionnalités plus récentes et une plus grande compatibilité pour les plugins et les thèmes. Publié en 2019 en parallèle de macOS Catalina, Zsh est devenu le shell de connexion et d'interaction par défaut sur les appareils Mac.

Installer Zsh

Vous pouvez installer Zsh via Homebrew avec brew install zsh.

Pendant que vous y êtes, vous pouvez également installer le plugin Zsh le plus populaire,oh-my-zsh, fourni avec de nombreux plugins et thèmes intégrés, à l'aide de ce script d'installation :

sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

9 trucs et astuces Zsh moins connus

1. Ma collègue Valériane Venance a tweeté au sujet de lacommande take, qui crée un nouveau répertoire et permet d'apporter des changements, éliminant ainsi la nécessité de saisir les deux commandes mkdir et cdtake permet également de créer des répertoires intermédiaires en fonction des besoins.

commande « take »

2. Rechercher dans l'historique. Dans le terminal, appuyer sur la flèche haut permet de parcourir les commandes précédentes que vous avez utilisées, en commençant par la plus récente. Avec zsh, vous pouvez parcourir, par exemple, les différentes fois où vous avez utilisé une commande spécifique. mkdir.

historique de recherche

Mon merveilleux collègue Matthew Gilliard m'a parlé de ctrl-r ___, qui retrouve la dernière recherche que vous avez faite de l'expression donnée. Cliquer une nouvelle fois sur ctrl-r permet de trouver la deuxième fois la plus récente, la troisième, etc.

ctrl-r sur la ligne de commande

3. cd automatique. Il n'est pas nécessaire de taper cd pour changer de répertoire, il suffit de saisir le nom du répertoire.

4. Renommer en masse les fichiers avec zmvPour installer zmv, exécutez autoload zmv. Ayant téléchargé beaucoup d'images pour un modèle d'apprentissage automatique, je voulais les renommer par souci de cohérence (par exemple epcot-1.jpg, epcot-2.jpg, epcot-3.jpg, etc. au lieu de 1.jpg, 2.jpg, 3.jpg, etc.). Pour cela, la commande serait :

zmv '(*).(jpg|jpeg)' 'epcot-$1.$2'

Pour vérifier ce qui se passerait avant d'exécuter la commande, vous pouvez ajouter -n, ce qui exécute à la place :

zmv -n '(*).(jpg|jpeg)' 'epcot-$1.$2'

zmv avec photos epcot

Que signifie cette commande ? (*).(jpg|jpeg) trouve chaque fichier dans le répertoire se terminant par .jpg ou par .jpeg. Ensuite, epcot-$1.$2 donne l'instruction de modifier chaque nom de fichier en ajoutant le préfixe epcot- suivi du nom de fichier d'origine (représenté par $1), puis du type de fichier d'origine (avec $2).

5. Effectuer des calculs depuis la ligne de commande comme une calculatrice.

calculs zcalc

6. Un vaste nombre de plug-ins potentiels. Comme indiqué dans la section Installation, oh-my-zsh est livré avec de nombreux plug-ins. Vous pourriez inclure les plug-ins npm et sudo en ajoutant cette ligne à votre fichier  ~.zshrc : plugins=(npm sudo). Certains des plug-ins qui se démarquent incluent :

  • npm ajoute la saisie semi-automatique aux commandes npm.
  • sudo ajoute, comme vous l'avez deviné, sudo à une commande, même si vous l'avez tapée en double-cliquant sur esc.

escesc à sudo
  • zsh-autosuggestions suggère des commandes à mesure que vous tapez, en fonction de votre historique des commandes et des complétions précédentes.

suggestions automatiques
  • web-search vous permet d'ouvrir un moteur de recherche à partir de votre ligne de commande : exécuter google ___ recherchera sur Google l'expression donnée, ici Serena Williams, comme illustré ci-dessous.

recherche web google serena
  • git inclut de nombreux alias pour les commandes git, vous permettant de saisir moins et de gagner du temps. Pourquoi saisir git add quand vous pouvez saisir ga à la place ? D'autres alias sont  répertoriés ici.
ga . alias

7. Garer une commandeCtrl-q  « gare » la commande que vous tapez actuellement et vous ramène à l'invite, vous permettant ainsi de recommencer et de saisir une autre commande. Une fois que vous avez exécuté cette autre commande, la commande d'origine est remise en route et re-remplit la ligne de commande pour que vous puissiez continuer – cela peut vous être utile, disons, si vous avez oublié de taper une commande avant une autre. 

ctrlq.gif

8. Modifier facilement une commande après l'avoir tapée sur la ligne de commande. Si vous avez tapé ou collé une commande longue et que vous décidez de la modifier avant de l'exécuter,  ctrl-x-e l'ouvre dans un éditeur (en général vi, mais vous pouvez lui demander de l'ouvrir dans n'importe quel éditeur de texte avec la variable d'environnement $EDITOR).

9. Raccourcis clavier combinés. Tapez ctrl l au lieu de clear pour effacer votre terminal.

Comment booster un peu plus votre shell ?

Ce n'est que le début. Vous pouvez faire tellement plus avec zsh et oh-my-zsh. Consultez cette antisèche sur oh-my-zsh et cette liste de frameworks, thèmes et plug-ins ZSH administrée par Joe Block, ingénieur chez Twilio, et dites-moi en ligne à quoi ressemble votre terminal !