• [^] # Re: Oh my fish

    Posté par . En réponse à la dépêche Liquidprompt version 1.7. Évalué à 3.

    Hum, aucune idée, je n'ai jamais utilisé ces raccourcis.
    ctrl+a est ma touche de commande tmux.
    ctrl+e et alt+f ne font rien dans mon fish mais dans mon bash non plus, c'est censé faire quoi?

    • ctrl+a positionne au début de la ligne
    • ctrl+e positionne à la fin de la ligne
    • alt+f avance d'un mot
    • ctrl+w supprimer le mot précédent le curseur
    • ctrl+k supprimer la fin de la ligne à partir du curseur
    • alt+. coller le dernier mot de la commande précédente à la positione du curseur
    • ctrl+y coller ce que l'on vient de supprimer

    Ce sont des raccourcis (ce n'est pas exhaustif) par défaut de readline et zle (le gestionnaire de raccourcis de zsh) et c'est utilisable un peu partout (il y a un paquet rlwrap qui permet de les réutiliser pour un shell qui le permettrait pas (qui parle de sqlplus ?)).

    • La coloration et la complétion

    C'est probablement le plus évident.

    • La recherche facile dans l'historique (je tape config puis flèche haut j'ai la dernière commande contenant config)

    Le ctrl+r classique me semble plus agréable (il permet de faire une recherche n'importe où dans les commandes).

    • Le tab bien géré (c'est faisable aussi dans zsh, mais dans zsh la config par défaut me plait pas celle de fish me convient), complétion qui fonctionne pour tout (sous Arch j'ai ça dans bash avec le paquet bash_completion, sous debian j'ai jamais réussi à avoir ne serait-ce que la complétion après sudo dans bash)

    hum, jamais eu de problème avec bash (même si j'utilise zsh).

    • Le raccourcis des paths je le trouve pas idiot (première lettre de chaque dossier sauf le dernier)

    Ça ouai ça existe dans zsh (mais pas en bash apparemment).

    • Des petits détails soignés, genre début d'un mot puis tab m'indique les commandes possibles mais aussi leur description, exemple avec 'mo' : http://pastebin.archlinux.fr/477455

    C'est vrai que c'est sympa et unique.

    • le ** à la zsh (qui manque dans bash)

    Ça s'appelle les globbings étendus et c'est présent dans bash depuis la version 4 (c'est donc partout). Mais je pense que zsh pousse le concept plus loin que les autres sur ce sujet (**/*(.) pour ne lister que les fichiers, (/) pour les dossiers, *() pour le fichiers exécutables, (#i)*e* pour être insensible à la casse,...).

    • un historique des cd, on peut naviguer dedans avec prevd, nextd et dirh permet de le voir

    Quelle est la différences avec pushd/popd ? bash et zsh permet l'autopushd qui fait qu'un cd fait aussi un autopushd. zsh roxx avec cd -n avec n la profondeur du dossier dans la pile, si on fait cd - on voit la pile (et on peut configurer la pile pour éliminer les doublons).

    ^ permet de rediriger stderr, à la manière de < et > pour stdin et stdout. (^ ^ fonctionne comme << et >>)

    bash et zsh font ça avec 2> et 2>> l'avantage c'est que les redirections sont génériques et peuvent servir pour tout descripteur de fichier (ils n'ont pas de mérite ça viens de la famille tcsh/ksh).

    Merci beaucoup pour ton retour sur fish :)

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)