Fermer

mars 3, 2020

75 commandes, plugins, alias et outils Zsh –


Je passe une grande partie de ma journée dans le terminal, et mon shell de choix est Zsh – un shell Unix hautement personnalisable qui contient des fonctionnalités très puissantes. Comme je suis un développeur paresseux TM je cherche toujours des moyens de taper moins et d’automatiser toutes les choses. Heureusement, c'est quelque chose auquel Zsh se prête bien.

Dans cet article, je vais partager avec vous 75 commandes, plugins, alias et outils qui, espérons-le, vous permettront d'économiser quelques touches et de vous rendre plus productif dans votre journée.

Si vous n'avez pas installé Zsh sur votre machine, consultez cet article où je vous montre comment être opérationnel.

15 choses que Zsh peut Sortez de la boîte

Zsh partage de nombreuses fonctionnalités pratiques avec Bash. Aucun des éléments suivants n'est unique à Zsh, mais il est bon de le savoir néanmoins. Je vous encourage à commencer à utiliser la ligne de commande pour effectuer des opérations telles que celles répertoriées ci-dessous. Cela peut sembler plus de travail que d'utiliser une interface graphique au début, mais une fois que vous maîtrisez les choses, vous ne regarderez jamais en arrière.

  • La ​​saisie du cd de n'importe où sur le système de fichiers vous amènera directement retour à votre répertoire personnel.
  • La saisie de !! affichera la dernière commande. C'est pratique si une commande échoue car elle a besoin de droits d'administrateur. Dans ce cas, vous pouvez taper sudo !! .
  • Vous pouvez utiliser && pour chaîner plusieurs commandes. Par exemple, mkdir project && cd project && npm init -y .
  • L'exécution conditionnelle est possible en utilisant || . Par exemple, git commit -m "any ..." || echo "Commit failed" .
  • L'utilisation d'un commutateur -p avec la commande mkdir vous permettra de créer des répertoires parents selon vos besoins. L'utilisation de l'accolade réduit la répétition. Par exemple, mkdir -p articles / jim / sitepoint / article {1,2,3} .
  • Définissez les variables d'environnement sur une base par commande comme ceci: NODE_DEBUG = myapp node index.js . Ou, par session comme ceci: export NODE_DEBUG = myapp . Vous pouvez vérifier qu'il a été défini en tapant echo $ .
  • Canalisez la sortie d'une commande dans une deuxième commande. Par exemple, cat /var/log/kern.log | moins pour rendre un long journal lisible, ou historique | grep ssh pour rechercher toutes les entrées d'historique contenant "ssh".
  • Vous pouvez ouvrir des fichiers dans votre éditeur depuis le terminal. Par exemple, nano ~ / .zshrc (nano), subl ~ / .zshrc (Texte sublime), code ~ / .zshrc (code VS). Si le fichier n'existe pas, il sera créé lorsque vous appuyez sur Enregistrer dans l'éditeur.
  • La navigation est une compétence importante à maîtriser. Ne vous fiez pas seulement à vos touches fléchées. Par exemple, Ctrl + a vous amènera au début d'une ligne.
  • Alors que Ctrl + e vous emmènera jusqu'à la fin.
  • Vous pouvez utiliser Ctrl + w pour supprimer un mot (en arrière).
  • Ctrl + u ] supprimera tout du curseur jusqu'au début de la ligne.
  • Ctrl + k effacera tout, du curseur jusqu'à la fin de la ligne. Ces trois derniers peuvent être annulés avec Ctrl + y .
  • Vous pouvez copier du texte avec Ctrl + Shift + c . C'est beaucoup plus élégant que de cliquer avec le bouton droit et de sélectionner Copier .
  • Inversement, vous pouvez coller du texte copié avec Ctrl + shift + v .

Essayez de valider ces combinaisons de touches en mémoire. Vous serez surpris de la fréquence à laquelle ils sont utiles.

15 alias personnalisés pour booster votre productivité

Les alias sont des raccourcis terminaux pour les commandes normales. Vous pouvez les ajouter à votre fichier ~ / .zshrc puis recharger votre terminal (en utilisant la source ~ / .zshrc ) pour qu'ils prennent effet.

La syntaxe de déclaration d'un (simple) alias est le suivant:

 alias [alias-name] = '[command]'

Les alias sont parfaits pour les commandes souvent utilisées, les commandes longues ou les commandes dont la syntaxe est difficile à retenir. Voici certains de ceux que j'utilise régulièrement:

  • Un alias myip qui imprime votre adresse IP publique actuelle sur le terminal: alias myip = 'curl http: // ipecho .net / plain; echo '.
  • Un alias distro pour afficher des informations sur votre distribution Linux: alias distro =' cat /etc/*-release'2019459017. reload alias, car je n'arrive jamais à me souvenir comment recharger mon terminal: alias reload = 'source ~ / .zshrc' .
  • Un undo-git-reset alias: alias undo-git-reset-head = "git reset 'HEAD @ {1}'" . Cela annule les effets de l'exécution de git reset HEAD ~ .
  • Un alias pour mettre à jour les listes de packages: alias sapu = 'sudo apt-get update' .
  • Un alias pour réexécutez la commande précédente avec sudo : alias ffs = 'sudo !!' .
  • Parce que je suis paresseux, j'ai redéfini y vers fil commande: alias y = 'fil' . Cela signifie que je peux cloner un dépôt, puis tapez simplement y pour récupérer toutes les dépendances. J'ai appris celui-ci de Scott Tolinski sur Syntaxe .
  • Pas un de ceux que j'utilise, mais cet alias efface le dossier node_modules et supprime le package-lock .json avant de réinstaller les dépendances d'un projet: alias yolo = 'rm -rf node_modules / && rm package-lock.json && yarn install' . Comme vous le savez probablement, yolo signifie Y ou O nly L ive O nce.
  • Un alias pour ouvrir mon .zshrc fichier à modifier: alias zshconfig = 'subl $ HOME / .zshrc' .
  • . Un alias pour mettre à jour la liste des versions Ruby rbenv peut être installé : alias update-available-rubies = 'cd ~ / .rbenv / plugins / ruby-build && git pull'
  • Un alias pour lancer un serveur dans votre répertoire actuel (aucun paquet npm requis) : alias server = 'python -m SimpleHTTPServer 8000' .
  • Vous pouvez également créer un alias pour ouvrir la documentation dans votre navigateur: alias npmhelp = 'firefox https://github.com/ robbyrussell / oh-my-zsh / tree / master / plugins / npm '.
  • Un alias global pour diriger la sortie d'une commande vers moins : alias -g L =' | moins '. Vous pouvez l'utiliser comme ceci: cat production.log L .
  • Un alias global pour diriger la sortie d'une commande vers grep : alias -g G = '| grep '. Vous pouvez l'utiliser comme ceci: history G ssh .
  • Vous pouvez également utiliser des fonctions pour créer des alias. Ce qui suit (extrait de ici ) crée un alias qui ajoute, valide et pousse le code vers GitHub:
    bash
    fonction acp () {
    git add.
    git commit -m "$ 1"
    git push
    }

Il existe de nombreux endroits pour trouver plus d'idées d'alias en ligne. Par exemple, cette discussion de Hacker News ou cet article sur productivité en ligne de commande avec Zsh .

15 choses sympas que vous pouvez faire avec (Oh My) Zsh

Oh My Zsh est un framework géré par la communauté pour gérer votre configuration Zsh et est livré avec des milliers de fonctions, aides, plugins et thèmes utiles. Si vous voulez faire du shell Z votre pilote quotidien, vous devez vraiment installer Oh My Zsh.

Voici quinze choses utiles que Oh My Zsh peut faire pour vous:

  • Le La commande] take créera un nouveau répertoire et le modifiera. Take my-project remplace mkdir my-project && cd my-project .
  • zsh_stats vous donnera une liste des 20 commandes les plus importantes et le nombre de commandes
  • Oh My Zsh simplifie la navigation dans votre système de fichiers. Par exemple, .. est un alias pour cd .. .
  • De la même manière, ... vous fait monter de deux répertoires, .... vous fait monter de trois, et ..... vous fait monter de quatre.
  • Vous pouvez omettre le cd lorsque vous naviguez. Par exemple, en tapant / vous accédez directement à la racine de votre système de fichiers.
  • La correspondance partielle est également prise en charge. Par exemple, en tapant / h / j / De et en appuyant sur TAB puis sur Retour m'amène à / home / jim / Desktop / [19459017
  • rd est un alias pour rmdir et md est un alias pour mkdir -p .
  • Vous pouvez tapez d pour répertorier les derniers répertoires utilisés à partir d'une session de terminal.
  • Vous pouvez ensuite accéder à l'un de ces répertoires à l'aide de cd -n n est le numéro de répertoire.
  • La complétion des onglets est une autre grande fonctionnalité. Par exemple, en tapant ls - et en appuyant sur TAB toutes les options de la commande seront répertoriées, ainsi qu'une description utile de ce qu'elles font. Cela fonctionne également pour cap râteau ssh et kill .
  • Typing alias répertorie tous de vos alias actuels.
  • Avec la globalisation (une fonction Zsh), vous pouvez lister les fichiers avec une extension particulière. Par exemple, ls * .html répertorie tous les fichiers HTML du répertoire actuel. Pour inclure les sous-répertoires, passez à: ls ** / *. Html .
  • Les qualificateurs de globes vous permettent de sélectionner des types de fichiers à l'aide d'indicateurs. Par exemple, ls -l ** / * (. X) trouvera tous les fichiers exécutables dans le répertoire actuel et tous les sous-répertoires.
  • Vous pouvez rechercher des fichiers par date de modification. Par exemple, ls * (m-7) répertorie tous les fichiers modifiés au cours de la dernière semaine.
  • Vous pouvez rechercher des fichiers par taille. Par exemple, ls * (Lm + 1) trouvera tous les fichiers d'une taille supérieure à 1 Mo.

Utilisation de plugins pour le plaisir et le profit

Oh My Zsh est livré avec beaucoup de plugins . Vous devriez les parcourir et consacrer du temps à apprendre ceux qui vous aideront dans votre flux de travail.

Voici trois plugins que j'utilise régulièrement, qui fournissent une tonne de raccourcis et d'alias pratiques.

10 alias Nifty Git

The git le plugin fournit de nombreux alias et plusieurs fonctions utiles . Pourquoi ne pas les parcourir et essayer de mémoriser votre top dix? Voici ceux que j'utilise le plus souvent.

  1. g est un alias pratique pour git . Cela signifie que vous pouvez taper des choses comme g clone au lieu de git clone . Il ne peut y avoir que deux frappes, mais elles s'additionnent rapidement.
  2. gaa est un alias pour git add all . J'utilise celle-ci tout le temps.
  3. gb est un alias pour git branch qui listera toutes les branches du référentiel actuel et vous montrera laquelle vous êtes
  4. gcb est un alias pour git checkout -b la commande qui vous permet de créer une nouvelle branche.
  5. gcm est un alias pour git checkout master . Cela vous ramène à la branche principale.
  6. gdca est un alias pour git diff --cached . Cela vous permet de différencier tous les fichiers que vous avez organisés pour la validation.
  7. gf est un alias pour git fetch .
  8. gm est un alias pour git merge .
  9. gp est un alias pour git push . Pour synchroniser une fourchette d'un dépôt, vous pouvez faire: gf en amont gm en amont / maître suivi de gp .
  10. glog est un alias pour git log --oneline --decorate --graph qui vous donnera un joli graphique de branche git.

10 Handy npm Aliases

Le npm plugin fournit également une série d'alias utiles.

  • npmg est un alias pour npm install --global que vous pouvez utiliser pour installer des dépendances globalement sur votre système. . Par exemple, npmg nodemon .
  • npmS est un alias pour npm install --save que vous utilisez pour installer des dépendances et les ajouter à la dépendances section de votre package.json . Notez que, depuis npm 5.0.0 il s'agit de la valeur par défaut lors de l'exécution de npm i .
  • npmD est un alias pour npm install --save-dev que vous utilisez pour installer des dépendances et les ajouter à la section devDependencies de votre package.json .
  • npmO est un alias pour npm obsolète qui vérifiera le registre pour voir si des packages installés (ou spécifiques) sont actuellement obsolètes.
  • npmL est un alias pour npm list qui répertorie les packages installés.
  • npmL0 est un alias pour npm list --depth = 0 qui répertorie les packages de niveau supérieur. Ceci est particulièrement utile pour voir quels modules sont installés globalement sans inonder votre terminal avec une énorme arborescence de dépendances: npmL0 -g .
  • npmst est un alias pour npm run start un script npm souvent utilisé pour démarrer une application.
  • npmt est un alias pour npm run test qui, comme vous pourriez le faire est utilisé pour exécuter vos tests.
  • npmR est un alias pour npm run . À elle seule, cette commande répertorie tous les scripts npm disponibles d'un projet, ainsi qu'une description de ce qu'ils font. Utilisé conjointement avec un nom de script, il exécutera ce script, par exemple, build npmR .
  • npmI est un alias pour npm init . Cela vous posera un tas de questions, puis créera un package.json en fonction de vos réponses. Utilisez l'indicateur -y pour automatiser le processus. Par exemple, npmI -y .

10 Rails / Rake alias

Ce plugin ajoute l'achèvement du cadre Ruby on Rails et du programme de râteau . ainsi que quelques alias pour les journaux et les variables d'environnement.

  • rc est un alias pour rails console qui vous permet d'interagir avec votre application Rails depuis la CLI .
  • rdc est un alias pour rake db: create qui (sauf si RAILS_ENV est défini) crée les bases de données de développement et de test pour votre application. [19659008] rdd est un alias pour rake db: drop qui supprime les bases de données de développement et de test de votre application.
  • rdm est un alias pour rake db: migrate qui exécutera toutes les migrations de base de données en attente.
  • rds est un alias pour rake db: seed qui exécute le db /seeds.rb pour remplir votre base de données de développement avec des données.
  • rgen est un alias pour rails generate qui générera du code passe-partout. Par exemple: nom d'élément d'échafaudage rgen: description de chaîne: texte .
  • rgm est un alias pour les rails génèrent la migration qui générera une migration de la base de données. Par exemple: rgm add_description_to_products description: chaîne .
  • rr est un alias pour routes de râteau qui répertorie tous les itinéraires définis d'une application.
  • rrg est un alias pour routes de râteau | grep qui vous permettra de lister et filtrer les routes définies. Par exemple, utilisateur rrg .
  • rs est un alias pour serveur de rails qui lance le serveur Web par défaut de Rails.

Ressources supplémentaires [19659006] La tâche principale des plugins listés ci-dessus est de fournir des alias aux commandes souvent utilisées. Veuillez noter qu'il existe de nombreux autres plugins qui augmentent votre shell avec des fonctionnalités supplémentaires.

Voici quatre de mes favoris:

  • sudo vous permet de préfixer facilement vos commandes actuelles ou précédentes avec sudo en appuyant deux fois sur ESC .
  • autosuggestions suggère des commandes que vous tapez en fonction de l'historique et des achèvements. Si la suggestion est celle que vous recherchez, appuyez sur la touche pour l'accepter. Un gain de temps réel!
  • command-not-found : si une commande n'est pas reconnue dans le $ PATH ceci utilisera le paquet Ubuntu command-not-found pour trouver ou suggérer des fautes d'orthographe.
  • z est un plugin pratique qui construit une liste de vos dossiers les plus fréquents et les plus récents (il les appelle "frecents") et vous permet d'y accéder avec une seule commande.

Et n'oubliez pas que si vous passez beaucoup de temps dans le terminal, cela vaut la peine d'investir des efforts pour le rendre visuellement attrayant. Heureusement, Oh My Zsh est livré avec tout un tas de thèmes à choisir. Mon choix est Agnoster .

Vous pouvez en savoir plus sur les thèmes dans mon article 10 conseils et astuces Zsh: configuration, personnalisation et utilisation .

Conclusion

Conclusion

Conclusion

19659006] Nous y voilà: 75 commandes, plugins, alias et outils Zsh. J'espère que vous avez appris une ou deux astuces en cours de route et je vous encourage à sortir de vos interfaces graphiques et à accéder au terminal. C'est plus simple qu'il n'y paraît et c'est un excellent moyen d'augmenter votre productivité.

Si j'ai raté votre plugin préféré, ou alias / commande qui vous fait gagner du temps, faites-le moi savoir sur Twitter .

Vous voulez profiter encore plus de votre boîte à outils? Consultez Code Visual Studio: outils de mise au point et de débogage de bout en bout pour les développeurs Web de Wiley.






Source link