• [^] # Re: la complétion dans bash ; eshell

    Posté par (site web personnel) . En réponse à la dépêche À la (re)découverte de Zsh. Évalué à 7.

    Utilisateur de zsh, j'adore cette fonctionalité.

    Alors je viens de la tester sous bash, et je suis déçu. Effectivement, elle ne complète que sur ce qui lui convient.

    Zsh a la décence de compléter sur autre chose quand ça ne tombe pas juste.

    Sous bash :
    allergy@hali:/tmp/ic$ ls
    document.odt fichier.zip
    allergy@hali:/tmp/ic$ unzip d[TAB]
    ... Et il ne complète pas.

    Sous zsh, il constate qu'aucun fichier d*.zip n'est présent, alors il complète avec ce qu'il trouve, c'est à dire document.odt.

    Autre chose que j'aime : il complète également dans la partie "chemin" d'un hôte distant lors d'un scp. Très pratique, à condition d'utiliser les clés pour ssh :)

    Enfin, il permet de compléter en une seule fois une commande du type :
    tail -f /v/l/a/er[TAB] en tail -f /var/log/apache2/error.log.

    Il s'arrête éventuellement à la première ambiguïté et il y met le curseur :
    allergy@hali:~$ ls /tmp/ic/d*/*
    /tmp/ic/dir1/fichier /tmp/ic/dir2/fichier
    (d1 ou d2)

    allergy@hali:~$ cat /t/i/d/f[TAB] devient :
    allergy@hali:~$ cat /tmp/ic/dir / f (J'ai souligné la position du curseur).

    Il ne reste plus qu'à entrer "1" ou "2", et refaire [TAB].