J'envisage de passer de bash à zsh car je rencontre souvent des articles faisant l'éloge de zsh. Je suis un utilisateur expérimenté de la ligne de commande et je suppose que les bases sont à peu près les mêmes. Je cherche donc des conseils pour profiter des avantages du déplacement, ainsi que des pièges à connaître.
Merci de donner un conseil par réponse. Je suis à la recherche de petits morceaux où je peux revenir et intégrer des informations supplémentaires dans mon utilisation de la coque à un rythme soutenu plutôt que d'essayer de tout apprendre en une fois.
bash
command-line
zsh
Hamish Downer
la source
la source
source /etc/zsh_command_not_found
à votre.zshrc
.Réponses:
Comme vous le dites,
zsh
est semblable à bien des égards àbash
. Il comporte certaines fonctionnalités que vous ne trouverez pasbash
et il peut être étendu de manière puissante. Ne considérez pas le déménagement comme une sorte de révolution, mais plutôt comme une suite d'étapes évolutives qui vous aideront dans votre travail quotidien. Voici quelques conseils de mon.zshrc
. Bien que vous disiez préférer des conseils individuels, cet article est une longue liste. Néanmoins, il est judicieux de passer en revue les points un par un. Ajoutez simplement les bits intéressants à votre~/.zshrc
et rechargez avecsource ~/.zshrc
. Un dernier conseil: apprendre les touches dezsh
« défaut de s ( « Emacs ») raccourcis clavier:^A ^E ^W Alt-F Alt-B Alt-P ^L ^R
. Vous pouvez remplacerAlt
par deux frappes distinctes:Alt-P
est équivalent àESC
P
.Cela vous donne une complétion plus complète des onglets.
Terminer la tabulation des deux côtés.
La complétion par des tabulations doit être sensible à la casse
Meilleur achèvement pour killall.
Change la définition de "mot", par exemple avec ^ W.
Couleurs pour ls.
Raccourcis pour ls.
Une histoire pour tous les coquillages ouverts; stocker 10 000 entrées. Cela en fait un aide-mémoire utile pour trouver les commandes que vous avez utilisées la dernière fois,
./configure
etc. Utilisez Alt-P (commande de recherche commençant ainsi) et ^ R (recherche dans l'historique) sans modération.Active toutes sortes de globbing étendus, tels que ls ** / *. Txt (trouver tous les fichiers texte),
ls -d *(D)
(affiche tous les fichiers, y compris ceux commençant par "."). Pour en savoir plus, consultez laman zshexpn
section "GENERATION DE NOM DE FICHIER".Ceci est utile pour se souvenir des commandes de votre historique sans les exécuter.
Tapez ".." au lieu de "cd ..", "/ usr / include" au lieu de "cd / usr / include".
Bonne invite.
Afficher les statistiques d'utilisation du processeur pour les commandes prenant plus de 10 secondes
Certaines commandes que vous utilisez beaucoup dans Ubuntu.
Répertorie les paquets triés par leur taille - utile pour déterminer quels paquets occupent votre espace disque.
la source
Je recommanderais le livre De bash à Z Shell . Il contient tous les conseils dont vous avez besoin pour changer de shell. Cela explique les différences entre les deux coques et facilite la tâche d'un nouveau zsher.
la source
Voici mon .zshrc et c’est la chose la plus importante! zsh a beaucoup d'options que vous pouvez utiliser, regardez donc quelques-uns des exemples sur le net ou lisez la documentation sur la page d'accueil de Zsh .
Mon .zshrc ne contient pas d'éléments vraiment intéressants, à l'exception d'un horodatage dans la partie droite de la ligne de commande.
Au fait, souvenez-vous d'essayer chaque fois où vous en trouverez quelques exemples ici:
montrera quelque chose comme ça:
Et si vous utilisez ssh-keys ou ssh-agent sans mot de passe, vous trouverez peut-être utile de tabuler des fichiers distants complets:
Après avoir obtenu la liste, vous pouvez appuyer plusieurs fois sur la touche de tabulation pour parcourir les différentes possibilités.
Mais soyez prévenus, cette coquille vous rendra paresseux et vous fera sentir qu’une coquille standard est stupide et ennuyeuse!
la source
Quelques globs étendus particulièrement utiles:
1-
rmdir *(/^F)
- effacez tous les répertoires non vides du répertoire en cours2-
grep traceback /srv/log/**/*(.m-2)
- recherchez cette expression rationnelle dans les fichiers modifiés au cours des deux derniers jours3-
chmod g+w **/*(U^I)
- faire en sorte que tous les fichiers que je possède et qui ne sont pas en écriture en groupe soient en écriture en groupeOui, bien sûr, vous pouvez écrire avec
find
cela, mais il est plus facile de le faire. Pour être juste, il présente deux inconvénients, tous les deux étant étendus sur la ligne de commande: si cela correspond à plusieurs milliers de fichiers, la ligne de commande sera trop longue et cela échouera, puis tous les fichiers sont trouvés. avant que le fichier ne commence à fonctionner.(Vous aurez besoin
setopt extendedglob
si ce n'est pas déjà fait)la source
Je ne sais pas grand chose à propos de bash, donc je ne peux pas compater. Quelques extraits de mon fichier de configuration zsh.
Un peu de config
Git dans l'invite
Quelques raccourcis clavier, insérez du texte au début de la ligne.
Les fonctions, je les stocke ensuite dans ~ / .zsh / functions
Le git_info_for_prompt
Quelques options de github
la source
Je suis dans le même voyage :)
Jusqu'ici, j'ai trouvé que le problème est d'avoir un bon fichier de configuration (.zshrc).
Prenez celui-ci comme exemple http://matt.blissett.me.uk/linux/zsh/zshrc , regardez les commentaires et piratez-vous. Stackoverflow et severphault et de bons endroits pour chercher aussi.
Je n'ai pas encore plongé dans http://dotfiles.org/.zshrc , mais je n'ai pas beaucoup de temps à perdre :)
la source
En savoir plus sur les globs étendus et récursifs dans zsh.
En savoir un peu plus sur zstyle et sur la manière dont diverses choses (en particulier l'achèvement) vous permettent d'ajuster leur configuration à l'aide de zstyle.
Regardez dans les tableaux associatifs. Aussi les tableaux standards (attention aux différences avec bash, pour le mieux!)
Si vous utilisez des expressions régulières, examinez
=~
(ce que bash a également) et considérez:setopt rematch_pcre
Évitez d’écrire des scripts qui dépendent de plus de la magie de zsh, car bien que ce soit fantastique à utiliser, zsh peut avoir tendance à être en écriture seule. Si vous en utilisez trop, pensez au moment de passer à un langage tel que Python.
Zsh est séduisant. C'est le côté obscur. Bienvenue.
la source
Gros avantage - excellente complétion des onglets avec des scripts de fin prédéfinis pour de nombreuses commandes. Voici un exemple montrant la sortie de
apt-get<TAB>
:la source
J'ai donné une coupe de discours et converti plusieurs personnes en zsh. Je garde un repo github de mes notes (quels sont les avantages) avec à la fois une entrée et une copie de ma propre configuration zsh dans github ici.
http://github.com/mitechie/zshrc
la source
Une autre grande ressource est la page des amoureux de zsh (issue du site grml zsh ).
la source