Bonsoir, Je viens de me remettre à zsh après plusieurs mois de retrait et je me refais donc une configuration aux petits oignons (bien aidé en cela par ce que j'ai pu trouver sur le net). Je constate que pour la completion, il existe plusieurs façon de faire sans vraiment savoir laquelle privilégier (tant en terme d'efficacité qu'en terme de consommation de ressources). Donc, si je prends l'exemple de l'ami Asyd, il utilise apparemment les zstyle (dont je suis bien incapable de comprendre tout le fonctionnement). D'autres en revanche utilisent la clause compdef. Je viens de tester les deux façons, et les deux fonctionnes relativement bien. Par contre j'ai noté une différence de comportement; compdef met la liste de tous les possibles pour une commande donnée en haut tandis que le zstyle mélange l'affichage avec tout le reste. Donc d'après vous, quelle manière doit-on privilégier ? Autre question, je veux une certaine completion pour ssh, or, je n'ai trouvé aucune information concernant le parsing du fichier .ssh/config (lorsqu'il existe). En somme ssh <TAB> ne fait pas grand chose d'utile et j'ai plus vite fait de me faire une séquence de raccourcis dans screen. Ce que je voudrais c'est que lorsque je tape ssh <debut du host><TAB>, zsh me le complète avec le login du fichier config. Avez-vous une recette miracle ? Plus globalement, que retenez-vous de l'usage de zsh dans votre quotidien ? Après deux bonnes journées à devoir replonger dans les méandres de ce shell, je me demande si toute cette puissance me sera vraiment utile sachant que je passe le plus clair de mon temps dans un autre outil fort sympathique: GNU Emacs. GNU bash (et la readline) ne permettent-ils pas de faire sensiblement les mêmes choses qu'un zsh (completion non comprise parce que là il n'y a pas photo. dailleurs parler de completion pour GNU bash relève du gag tant elle est inutile et inutilisable). Que faites-vous donc avec vos ZSH (aux utilisateurs de ZSH) ? Utilisez-vous vraiment toutes les fonctionnalités de ce shell ? Quelles fonctionnalités vous font préferrer celui-ci à un autre ? Ce sont de vraies questions que je me pose :) Accessoirement, dans le temps il y avait un wiki pour zsh, il ne semble pas trop répondre, est-ce normal ou bien l'adresse a changé ? Merci et désolé pour ce message un peu long. Xavier
Salut, je suis moi aussi en train de rentrer doucement dans la completion de zsh, je peux donc te filer le peu que j'en comprends. Tu trouveras bien plus de détails sur : http://zsh.dotsrc.org/Guide/zshguide06.html#l144 qui m'a bien éclairé sur la chose. En fait, il y a 3 facons de procéder: - compctrl est l'ancien systeme tres inspiré de tcsh - le nouveau systeme utilise des fonctions de base peuvent être utilisés pour paramètrer la completion avec zstyle. Toutefois, ces fonctions peuvent très bien être appellées directement. En terme de perf, je pense que c'est du kiff kiff. Perso, je fais ce que je peux.
Je viens de tester les deux façons, et les deux fonctionnes relativement bien. Par contre j'ai noté une différence de comportement; compdef met la liste de tous les possibles pour une commande donnée en haut tandis que le zstyle mélange l'affichage avec tout le reste.
Donc d'après vous, quelle manière doit-on privilégier ?
les deux mon général : lis le guide et tu verras que la *bonne* facon de faire est en fait d'écrire des fonctions utilisant compdef ou d'autres wrappers autour du systeme de completion. Cette fonction definira des contextes que tu pourras personnaliser avec zstyle. maintenant, est ce que ca vaut le coup de faire un truc hautement configurable alors que c'est pour soi?
trouvé aucune information concernant le parsing du fichier .ssh/config (lorsqu'il existe). En somme ssh <TAB> ne fait pas grand chose d'utile et j'ai plus vite fait de me faire une séquence de raccourcis dans screen. Ce que je voudrais c'est que lorsque je tape ssh <debut du host><TAB>, zsh me le complète avec le login du fichier config.
cat >> ~/.zshrc autoload compinit compinit
Plus globalement, que retenez-vous de l'usage de zsh dans votre quotidien ?
j'ai passé enormement de temps sous bash (apres en avoir testé de nombreux autres ) avant de me mettre a zsh. le gain de temps est enorme.
Après deux bonnes journées à devoir replonger dans les méandres de ce shell, je me demande si toute cette puissance me sera vraiment utile sachant que je passe le plus clair de mon temps dans un autre outil fort sympathique: GNU Emacs. GNU bash (et la readline) ne permettent-ils pas de faire sensiblement les mêmes choses qu'un zsh (completion non comprise parce que là il n'y a pas photo. dailleurs parler de completion pour GNU bash relève du gag tant elle est inutile et inutilisable).
je ne connais pas le systeme d'exploitation emacs. maintenant, si tu veux utiliser un editeur de texte pour faire ce qu'on fait avec un shell, c'est ton droit le plus strict.
Que faites-vous donc avec vos ZSH (aux utilisateurs de ZSH) ?
J'utilise les terminaux (pas d'interface graphique: pour ca j'ai une station windows) toute la journée, tous les jours. - irssi - mutt - vim - zsh - screen - les coreutils - les filtres - les outils de diag rezo l'utilisation d'autres commandes est presque anecdotique ... warsow ? oui ... j'avoue ;)
Utilisez-vous vraiment toutes les fonctionnalités de ce shell ?
oui. on site souvent la completion comme un point tres fort de zsh mais je trouve que le principal gain de temps est dans les nombreux petits raccourcis qu'offre zsh. Je pense par exemple aux modifiers : http://cli.asyd.net/home/shell/zsh/modifiers qui m'ont permis d'ecrire simplement les completion des commandes de gestion de config. d'apache compdef 'compadd /etc/apache2/mods-available/*(:r:t)' a2enmod compdef 'compadd /etc/apache2/mods-enabled/*(:r:t)' a2dismod compdef 'compadd /etc/apache2/sites-available/*(:r:t)' a2ensite compdef 'compadd /etc/apache2/sites-enabled/*(:r:t)' a2dissite
Quelles fonctionnalités vous font préferrer celui-ci à un autre ?
pas une en particulier mais une foule de choses qui font la différence. j'aime bien les formes alternatives des structures de controle, par exemple. boucle for : # for f ( *.JPG ) echo mv -v $f $f:r.jpg mv -v a.JPG a.jpg mv -v b.JPG b.jpg Un autre truc que j'aime bien, c'est vared qui me permet d'editer les scripts pour les filtres sans me prendre la tete a savoir quoi protéger. J'ai fais un billet "vared et les quotes imbriquées" que tu trouveras la : http://khatar.phear.org/code.html Je compte le réécrire un peu mieux avant de le balancer sur cli.
Accessoirement, dans le temps il y avait un wiki pour zsh, il ne semble pas trop répondre, est-ce normal ou bien l'adresse a changé ?
heuu .. si tu parles de cli.asyd.net, l'hebergeur d'asyd a connu qq petits problèmes. -- téléphone : 03.90.24.00.19 courriel : marc.chantreux@ulpmm.u-strasbg.fr ---------------------------------------
On mer 26 juillet, Xavier Maillard wrote:
Bonsoir,
Je viens de me remettre à zsh après plusieurs mois de retrait et je me refais donc une configuration aux petits oignons (bien aidé en cela par ce que j'ai pu trouver sur le net).
Je constate que pour la completion, il existe plusieurs façon de faire sans vraiment savoir laquelle privilégier (tant en terme d'efficacité qu'en terme de consommation de ressources).
c'est pas exactement vrai
Donc, si je prends l'exemple de l'ami Asyd, il utilise apparemment les zstyle (dont je suis bien incapable de comprendre tout le fonctionnement). D'autres en revanche utilisent la clause compdef.
attention, zstyle ne _défini_ pas la complétion, mais la contrôle, c'est la la subtilité à comprendre (ce qui n'est pas facile au début) compdef peut définir plusieurs "styles" de complétions pour un même programme, styles que tu contrôles ensuite par zstyle. Par exemple, pour un programme, compdef peut invoquer le composant files qui complétera pour tous les fichiers. Tu pourras ensuite - via un zstyle - limiter la complétion à un certain type de fichiers
Je viens de tester les deux façons, et les deux fonctionnes relativement bien. Par contre j'ai noté une différence de comportement; compdef met la liste de tous les possibles pour une commande donnée en haut tandis que le zstyle mélange l'affichage avec tout le reste.
Tu as fais quoi précisement ?
Autre question, je veux une certaine completion pour ssh, or, je n'ai trouvé aucune information concernant le parsing du fichier .ssh/config (lorsqu'il existe). En somme ssh <TAB> ne fait pas grand chose d'utile et j'ai plus vite fait de me faire une séquence de raccourcis dans screen. Ce que je voudrais c'est que lorsque je tape ssh <debut du host><TAB>, zsh me le complète avec le login du fichier config.
ssh<tab> donne ici : remote host name login name <data> ce qui veut dire qu'il attend un remote host name ou un nom de login (d'utilisateur)
Avez-vous une recette miracle ?
Plus globalement, que retenez-vous de l'usage de zsh dans votre quotidien ? Après deux bonnes journées à devoir replonger dans les
une complétion très utile, même si je concoit que bash tend à se rattraper de ce coté là, il est encore très loin des fonctionnalités de zsh (mais ca demande un peu de pratique, je comprend bien). Pour ma part il y a quelques bindkeys que j'adore : insert-last-word history-search-backward La programmation, le pattern matching, et surtout, une doc beaucoup plus conséquente que celle de bash
Que faites-vous donc avec vos ZSH (aux utilisateurs de ZSH) ? Utilisez-vous vraiment toutes les fonctionnalités de ce shell ?
Toutes ? non bien sûr que non, je pense que personne sur terre utilise _toutes_ les fonctionnalitées, c'est tellement large..
Quelles fonctionnalités vous font préferrer celui-ci à un autre ?
Ce sont de vraies questions que je me pose :)
Accessoirement, dans le temps il y avait un wiki pour zsh, il ne semble pas trop répondre, est-ce normal ou bien l'adresse a changé ?
hmmm, je vais regarder ca
Merci et désolé pour ce message un peu long.
-- http://asyd.net/home/ - Home Page http://guses.org/home/ - French Speaking Solaris User Group
On Wed, Jul 26, 2006 at 11:13:02AM +0200, Bruno Bonfils wrote:
Toutes ? non bien sûr que non, je pense que personne sur terre utilise _toutes_ les fonctionnalitées, c'est tellement large..
Surtout que maintenant zsh a un client irc ;) http://www.zsh.org/mla/users/2006/msg00582.html -- A is for Apple. -- Hester Pryne
participants (4)
-
Bruno Bonfils
-
julien.louis@gmail.com
-
Marc Chantreux
-
Xavier Maillard