Fermer

décembre 3, 2019

Configuration, personnalisation et utilisation –


En tant que développeur Web, la ligne de commande devient un élément de plus en plus important de notre flux de travail. Nous l'utilisons pour installer des paquets à partir de npm, pour tester des points de terminaison d'API, pour envoyer des commits à GitHub, et bien plus encore.

Mon shell de prédilection est zsh . C'est un shell Unix hautement personnalisable, qui contient des fonctionnalités très puissantes telles que l'achèvement des onglets de tueur, l'historique astucieux, le développement de fichiers distants, et bien plus encore avec le .

Dans cet article, je vais vous montrer comment installer zsh, puis vous proposer dix astuces et conseils pour vous rendre plus productif lorsque vous l'utilisez.

Ceci est un guide pour débutant qui peut être suivi par n'importe qui (même Utilisateurs Windows, grâce au Windows Subsystem for Linux). Cependant, à la lumière de l'annonce par Apple que zsh est désormais le shell standard de macOS Catalina les utilisateurs de mac pourraient le trouver particulièrement utile.

Permet de démarrer.

Installation

Je ne sais pas. vouloir proposer des instructions d'installation détaillées pour chaque système d'exploitation, plutôt que des instructions générales. Si vous êtes bloqué lors de l'installation de zsh, de nombreuses aides sont disponibles en ligne.

Au moment de la rédaction de la version actuelle de zsh, la version 5.7.1 est utilisée.

macOS

La plupart des versions de macOS sont livrées avec zsh préinstallé. Vous pouvez vérifier si c'est le cas et, dans l'affirmative, quelle version vous utilisez en utilisant la commande suivante: zsh --version . Si la version est 4.3.9 ou supérieure, vous devriez être prêt (nous aurons au moins besoin de cette version pour installer Oh My Zsh plus tard). Sinon, vous pouvez suivre ce guide pour installer une version plus récente de zsh en utilisant homebrew.

Une fois installé, vous pouvez définir zsh comme shell par défaut en utilisant: chsh -s $ (quel zsh) . Après avoir exécuté cette commande, vous devrez vous déconnecter, puis vous reconnecter pour que les modifications prennent effet.

Si à un moment quelconque vous décidez que vous n'aimez pas zsh, vous pouvez revenir à Bash en utilisant: chsh -s $ (quel bash) .

Linux

Sur les distributions basées sur Ubuntu , vous pouvez installer zsh en utilisant: sudo apt-get install zsh . Une fois l'installation terminée, vous pouvez vérifier la version à l'aide de zsh --version puis définir zsh comme shell par défaut à l'aide de chsh -s $ (qui zsh) . Vous devez vous déconnecter, puis vous reconnecter pour que les modifications prennent effet.

Comme avec macOS, vous pouvez revenir à Bash en utilisant: chsh -s $ (qui bash) . 19659002] Si vous utilisez une distribution non basée sur Ubuntu, consultez les instructions pour les autres distributions .

Windows

Malheureusement, les choses commencent à se compliquer un peu. Zsh est un shell Unix et pour fonctionner sous Windows, vous devez activer le sous-système Windows pour Linux (WSL) un environnement sous Windows 10 permettant d’exécuter des fichiers binaires Linux.

Il existe différents didacticiels en ligne expliquant comment utiliser zsh dans Windows 10s. J'ai trouvé que ces deux-là étaient à jour et faciles à suivre:

Notez qu'il est également possible de faire fonctionner zsh avec Cygwin . Voici les instructions pour le faire .

Première utilisation

Lorsque vous ouvrez zsh pour la première fois, le menu suivant vous accueille:

 Menu de première exécution de Zsh

Si vous sélectionnez (1) vous accédez à un menu qui vous permet de configurer l'historique, les associations de touches et bien d'autres choses. Cependant, je suggère de choisir (2) pour créer un profil de configuration avec les paramètres par défaut recommandés

Localisation du fichier de configuration

Voyons maintenant le fichier que zsh vient de créer. Entrez votre répertoire personnel et ouvrez le fichier .zshrc dans l'éditeur de votre choix. Ce fichier est exécuté chaque fois que vous démarrez zsh et constitue l’emplacement de la configuration personnalisée.

Remarque : les noms de fichiers commençant par un point sont masqués par défaut sur la plupart des systèmes d'exploitation. Vous devez donc le rendre visible avant de pouvoir le modifier. Si vous ne savez pas comment, recherchez "Afficher les fichiers à points cachés sous Mac / Linux, etc."

Nous pouvons montrer comment ce fichier fonctionne en créant un alias. Dans leur forme la plus simple, les alias sont des raccourcis terminaux pour les commandes régulières. Ajoutez ce qui suit au bas de .zshrc et enregistrez le fichier:

 alias myip = "curl http://ipecho.net/plain; echo"

Redémarrez votre shell (par exemple, en le fermant puis en l'ouvrant à nouveau), puis tapez myip . Si le programme cURL est installé, vous devriez voir votre adresse IP publique actuelle sortir vers le terminal. Si vous souhaitez expérimenter davantage de pseudonymes, consultez 7 pseudonymes super utiles pour faciliter votre vie de développement .

Fermez le terminal en tapant sortie puis localisez le .zsh_history qui se trouve également dans votre répertoire personnel. C'est ici que zsh stocke une liste de vos commandes de terminal précédentes. Actuellement, il devrait contenir deux lignes, à savoir myip et sortie .

Remarque: Nous allons recharger notre shell à plusieurs reprises tout au long du didacticiel. Vous pouvez également le faire avec une commande: source ~ / .zshrc .

Vérifiez vos progrès

À ce stade, vous devriez avoir installé zsh et défini comme shell par défaut. Si vous rencontrez des problèmes, essayez de créer un sujet sur les forums de SitePoint et demandez-leur de l’aide.

Parlons maintenant de quelques astuces.

1. Installez Oh My Zsh

Si vous ne suivez que l'un de ces conseils, il doit en être de même.

Oh My Zsh est un cadre géré par la communauté permettant de gérer La configuration de zsh est fournie avec des milliers de fonctions utiles, d’aides, de plugins et de thèmes. La plupart des astuces suivantes dépendent de votre installation:

Comme expliqué sur la page d'accueil du projet, vous pouvez l'installer à l'aide de cURL ou de wget.

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

Cela suppose que vous avez installé git, ce que vous avez déjà fait, espérons-le. Sinon, vous pouvez le récupérer sur la page d'accueil du projet .
 Message d'installation post-installation de Oh My Zsh

Comme vous pouvez le constater, Oh My Zsh a créé une sauvegarde à partir du message d'installation. de votre fichier .zshrc puis l'a remplacé par sa propre version. Cela signifie que vous devrez copier toute configuration personnalisée (telle que notre alias myip ) dans votre nouveau fichier .zshrc .

2. Choisir un thème

Si vous passez beaucoup de temps dans le terminal, il est utile d’investir des efforts pour le rendre attrayant. Heureusement, Oh My Zsh contient tout un tas de thèmes .

Si vous regardez dans la variable ~ / .zshrc pour la ZSH_THEME vous ' Je trouve qu'il est réglé sur robbyrussel . C'est le thème par défaut utilisé par le créateur de Oh my Zsh.

Pour installer un thème différent, choisissez-en un dans le lien ci-dessus et modifiez la valeur de la variable ZSH_THEME avant de redémarrer votre shell. Par exemple, si vous définissez ZSH_THEME = "avit" Oh My Zsh utilisera le thème avit .

Vous pouvez également modifier le jeu de couleurs de votre terminal. Sur ma machine Linux, je pouvais le faire via Edit > Préférences > Couleurs . Suppression de la coche de Utiliser les couleurs du thème système puis sélectionner Darkness Solarized comme schéma, me donne un résultat très intéressant en un temps record.

 Avit theme on Oh My Zsh

Remarquez comment le thème reconnaît qu'il est dans un dépôt Git, me dit quelle branche je suis et affiche une coche verte pour me faire savoir que tout est à jour.

Je vous encourage à parcourir les thèmes disponibles et à en trouver un qui vous convienne.

Dépannage

Lorsque je testais ceci sur WSL, je voyais des caractères cassés dans mon terminal dès l'installation. Oh mon Zsh. Pour remédier à cela, je devais installer les polices Powerline et indiquer à mon terminal de les utiliser.

 git clone https://github.com/powerline/fonts.it

Ouvrez ensuite un administrateur PowerShell, accédez à la racine du référentiel et exécutez:

.  Install.ps1

Si PowerShell vous empêche d'exécuter le script, essayez de définir la ExecutionPolicy conformément à la réponse StackOverflow . Une fois les polices installées, assurez-vous de les rétablir.

Enfin, cliquez avec le bouton droit de la souris sur la barre de titre du terminal, choisissez Propriétés > Police et assurez-vous qu'une police Powerline est choisi. Lors des tests, Deja Vu Sans Mono pour Powerline a bien fonctionné pour moi

Notez également que quelques-uns des thèmes nécessitent des polices Powerline, quel que soit le système d'exploitation. Nous examinerons l’installation d’un de ces thèmes ( Agnoster ) vers la fin de l’article.

3. Utilisation de l'historique

L'une de mes fonctionnalités préférées de Oh My Zsh est la façon dont il vous permet d'effectuer une recherche dans votre historique. Imaginez que le contenu de .zsh_history ressemble à ceci:

 cd Desktop
mkdir mon projet
cd mon projet
npm init -y
mkdir {src, build}
touchez index.js

Si vous êtes dans le terminal et que vous appuyez sur la touche vous vous attendez à parcourir successivement chacune de ces entrées d'historique, n'est-ce pas? Aucune surprise ici.

Cependant, Oh My Zsh vous permet de saisir le début d’une commande, puis d’appuyer sur la touche pour faire défiler les entrées correspondantes. Ainsi, dans l'exemple ci-dessus, si vous avez entré «mkdir», puis que vous avez appuyé sur la touche “mkdir {src, build}” s'afficherait. Si vous appuyez à nouveau dessus, vous verrez alors «mkdir mon-projet».

J'utilise cette fonctionnalité tout le temps. Par exemple, lorsque je veux utiliser ssh sur un serveur et que je ne me souviens pas des informations d’identité exactes, j’ai simplement entrer «ssh» et je peux faire défiler les connexions récentes jusqu’à ce que je trouve la bonne. Ou bien, lorsque je ne me souviens pas de la syntaxe exacte d'une commande, je peux simplement entrer les premiers caractères et parcourir les correspondances éventuelles.

Autosuggestions FTW!

Une autre grande fonctionnalité de Oh My Zsh est plugins . Ceux-ci ajoutent de nouvelles fonctionnalités à votre shell et augmentent ses fonctionnalités.

Oh My Zsh est livré avec des centaines de plug-ins pour chaque utilisation envisageable. Nous en examinerons quelques-uns plus loin dans l’article. Cependant, dans cette section, je voudrais vous présenter un plug-in tiers appelé autosuggestions . Cela suggère des commandes en cours de saisie en fonction de l'historique.

Pour l'installer, vous devez cloner son référentiel dans $ ZSH_CUSTOM / plugins . Par défaut, il s'agit de ~ / .oh-my-zsh / custom / plugins .

 clone de git https://github.com/zsh-users/zsh-autosuggestions $ {ZSH_CUSTOM: - ~ / .oh-mon-zsh / custom} / plugins / zsh-autosuggestions

Une fois cela fait, pour l'activer, sautez dans le fichier ~ / .zshrc et décommentez la ligne suivante:

 # plugins = (git)

Remplacez ensuite git par zsh-autosuggestions

 plugins = (zsh-autosuggestions)

Redémarrez votre shell et vous remarquerez que, lorsque vous tapez une commande, Oh My Zsh fera des suggestions en fonction de votre historique. Si la suggestion est celle que vous recherchez, appuyez sur la touche pour l'accepter. Un vrai gain de temps!

 Autosuggestions avec Oh My Zsh

5. Navigation dans les fichiers avec Oh My Zsh

Une autre chose impressionnante à propos de Oh My Zsh est la facilité avec laquelle il est facile de naviguer autour de votre machine.

Par exemple, lorsque vous souhaitez changer de répertoire, il n'est pas nécessaire d'entrer la commande cd c'est-à-dire cd Desktop devient simplement Desktop . Et cela fonctionne également avec les chemins – vous pouvez entrer dans / home / jim / Desktop et vous retrouver là où vous le souhaitez.

Oh My Zsh est également très complet. Une fois que vous avez commencé à taper un chemin, vous pouvez appuyer sur TAB pour qu’il développe une liste de tous les dossiers possibles auxquels vous pouvez accéder. Si vous continuez à tabuler, vous pouvez vous déplacer dans cette liste jusqu'à ce que vous sélectionniez un dossier en appuyant sur Return . Appuyez à nouveau sur TAB pour relancer le processus.

 Navigation dans le fichier Oh My Zsh avec achèvement de la tabulation

Enfin, il convient de mentionner que Oh My Zsh fournit un certain nombre de commandes et alias pour travailler avec les répertoires et y naviguer . Par exemple, en tapant ... va vous faire remonter de deux répertoires et taper prendre va créer un nouveau répertoire et y accéder. Oh My Zsh prend également en charge l’achèvement dynamique du chemin. Taper (par exemple) / h / j / De et appuyer sur Tab élargira le chemin jusqu’à / home / jim / Desktop. . Cool, hein?

Bonus Conseil : Si vous vous sentez paresseux, vous pouvez simplement faire glisser un dossier dans la fenêtre du terminal pour que le chemin soit étendu pour vous.

6. Naviguez vers n'importe quoi en utilisant z

z est un plugin pratique qui dresse une liste de vos dossiers les plus fréquents et récents (il les appelle «frecent») et vous permet d'y accéder avec une seule commande. C'est souvent beaucoup plus pratique que d'avoir à parcourir une structure de dossiers imbriquée.

Pour installer le plugin, il vous suffit de l'ajouter à votre fichier .zshrc comme suit:

 = (z zsh-autosuggestions)

Redémarrez ensuite votre terminal.

Une fois installé, z aura une courte phase d’apprentissage car il vous observera en train de naviguer autour de votre PC avec le terminal. Après un certain temps, vous pourrez taper z suivi de n'importe quel mot figurant dans le chemin de répertoire souhaité. Le plugin utilisera la correspondance floue pour déterminer le dossier dans lequel vous voulez aller et développer le chemin en conséquence. S'il y a plus d'une possibilité, vous pouvez naviguer parmi les options décrites dans l'astuce précédente.

Cela ne vous semblera peut-être pas très grave, mais vous pourrez ouvrir un shell, tapez z my- projet et demandez-lui d'étendre le chemin vers / home / jim / files / some / profondément / nested / répertoire / ou / other / my-project . Ensuite, lorsque vous êtes dans ce répertoire, vous pouvez taper z mon-autre-projet et le laisser élargir le chemin d'accès à / var / www / html / projects / top / secret / my-other .project .

Note: la première fois que j'ai couru z et tenté de changer de répertoire, j'ai reçu l'erreur
_z_dirs: 2: aucun fichier ou répertoire de ce type: / home / jim /. z . Il s’agissait d’un problème particulier, z devant apparemment créer un fichier .z dans mon répertoire personnel. Si vous rencontrez des problèmes, cet article contient des suggestions .

7. Travailler avec git

Zsh inclut une intégration de base à Git prête à l'emploi. Par exemple, si vous tapez git et appuyez sur la touche Tab zsh créera utilement une longue liste de commandes git possibles. Cela devient un peu plus utile si vous tapez git suivi des deux premières lettres de la commande que vous recherchez. Par exemple, git a + Tab produit:

 add - ajoute le contenu du fichier à l'index.
am - applique les correctifs à partir d'une boîte aux lettres
apply - applique un correctif aux fichiers et / ou à l'index
archimport - importe un référentiel Arch dans git
archive - crée une archive de fichiers à partir de l'arborescence nommée

Les choses commencent à devenir plus intéressantes lorsque vous installez le plugin Oh My Zsh git .

 plugins = (git z zsh-autosuggestions)

Ceci fournit tout un tas de pseudonymes, ainsi que quelques fonctions utiles pour travailler avec git. Certains de ceux que j'utilise fréquemment sont:

  • gaa git ajouter tous
  • gdca git diff --cached
  • gp git push
  • gpf! git push --force
  • grhh git réinitialisé - hard
  • gst statut du git

] Vous pouvez également créer un alias pour plusieurs commandes à la fois, en ajoutant ce qui suit à votre fichier .zshrc :

 function acp () {
  git add.
  git commit -m "$ 1"
  git push
}

Maintenant, lorsque vous êtes dans un dépôt Git, tapez acp "un message de validation" pour ajouter tous les fichiers modifiés, les valider avec le message de validation que vous avez spécifié, puis les transférer sur votre télécommande. Le mérite de cette idée va à Ali Spittel .

8. Obtenez un retour instantané sur l'état d'un repo git

En haut de l'article, nous avons activé un thème appelé avit . Lorsque vous vous trouvez dans un dépôt Git, ce thème affiche le nom de la branche, ainsi qu’une croix ou une coche indiquant si la totalité de la branche est à jour. J'adore pouvoir voir cette information d'un coup d'œil et c'est définitivement un pas en avant de devoir taper le statut de git tout le temps.

Il existe cependant quelques thèmes qui affichent cette informations de manière plus intuitive. Mon préféré est Agnoster . Commençons par l’installer maintenant.

Pour qu'Agnoster puisse restituer correctement les flèches et les icônes git, vous devrez probablement installer une police avec correctif Powerline . Les utilisateurs du WSL peuvent le faire en suivant les instructions de la section de résolution des problèmes ci-dessus. Pour les utilisateurs de Mac et Linux, les instructions d’installation sont disponibles dans le rapport de projet .

Les utilisateurs de Mac utilisant High Sierra ou une version ultérieure devront peut-être effectuer des tâches supplémentaires pour que ces polices s'affichent. À moins que vous ne soyez sur Catalina, cette méthode est recommandée . Les utilisateurs de Catalina devront installer une police corrigée et la sélectionner dans les paramètres de leur terminal.

Pour vérifier si votre terminal peut afficher tous les caractères nécessaires. Exécutez la commande suivante:

 echo " ue0b0  u00b1  ue0a0  u27a6  u27a  u26a1  u2699"

Le résultat devrait ressembler à ceci:

 Polices Powerline requises pour le thème Agnoster

Ensuite, activez le thème en modifiant la ligne suivante dans votre .zshrc . file:

 ZSH_THEME = "agnoster"

et le redémarrage du terminal. Une fois Agnoster opérationnel, vous aurez une vue plus intuitive de l’état de tout référentiel git. Vous recevrez également un retour visuel indiquant si la commande précédente a réussi ou échoué, et si vous utilisez des privilèges élevés.

 Mise en service sous le thème Agnoster

Conseil Si vous n'aimez pas la partie user @ host de l'invite, vous pouvez la faire disparaître en ajoutant le fichier DEFAULT_USER = nom_utilisateur au fichier .zshrc .

. ] 9. Plugins, Plugins, Plugins

Comme mentionné, Oh My Zsh est livré avec beaucoup de plugins . Vous devriez vraiment regarder à travers ceux-ci et investir un peu de temps à apprendre ceux qui aideront votre flux de travail. Pour vous aider à démarrer, voici quelques exemples populaires:

  • cloudapp – télécharge des fichiers et du contenu transféré vers le service Cloudapp. Envoie et copie l'URL résultante dans le presse-papiers.
  • commande-non-trouvé – si une commande n'est pas reconnue dans le $ PATH le paquetage commande-non trouvé d'Ubuntu sera utilisé. trouvez-le ou suggérez des fautes d'orthographe (uniquement pour Ubuntu et openSUSE).
  • node – ouvre l'API Node pour votre version actuelle dans votre navigateur.
  • npm – ajoute l'auto-complétion à npm. 19659130] sudo – frapper ESC place deux fois sudo devant la commande en cours, ou la dernière si la ligne de commande est vide.
  • vscode – crée une interaction entre la ligne de commande et l'éditeur de code plus facile.

10. Key Combos

Ce n'est pas une astuce spécifique à zsh, mais pour conclure, je voulais vous informer de ces cinq combinaisons clés qui vous font gagner du temps.

  • Ctrl + U – Supprimer de le curseur au début de la ligne.
  • Ctrl + K – Supprimer du curseur jusqu'à la fin de la ligne.
  • Ctrl + W ] – supprimer du curseur jusqu'au début du mot précédent.
  • Alt + D – supprimer du curseur jusqu'à la fin du mot suivant.
  • Ctrl + L – effacez le terminal.

Si vous parvenez à les mémoriser, vous serez surpris de la fréquence avec laquelle ils vous seront utiles.

Conclusion

Dans cet article, j'ai montré comment installer zsh et le définir comme shell par défaut. J'ai également montré comment tirer le meilleur parti de votre nouveau terminal avec le framework Oh My Zsh. J'espère que si vous essayez ces dernières semaines, vous vous demanderez comment vous avez pu vous en passer.

Et n'oubliez pas, si vous avez un problème avec cela, vous pouvez aller là-bas. Les forums SitePoint et demandez de l'aide. Je serais également heureux de savoir si quelque chose me manque, par exemple votre thème, plug-in, alias ou astuce de productivité préférée.

Vous pouvez me contacter soit sur les forums, soit sur Twitter . .






Source link