Completion et ZSH

Bruno Bonfils asyd at asyd.net
Wed Jul 26 11:13:02 CEST 2006


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


More information about the Shell mailing list