Journal fasd

Posté par (page perso) . Licence CC by-sa
11
4
mai
2012

J'ai découvert aujourd'hui fasd, c'est un outil pour la console qui s'inspire entre autres d'autojump dont on a en entendu parler ici (Voir derniers contenus sur autojump)

 

Il propose un ensemble d'alias préconfigurés qui vont plus loin que le déplacement dans le système de fichier. Les exemples tirés de la documentation :

  v def conf       =>     vim /some/awkward/path/to/type/default.conf
  j abc            =>     cd /hell/of/a/awkward/path/to/get/to/abcdef
  m movie          =>     mplayer /whatever/whatever/whatever/awesome_movie.mp4
  o eng paper      =>     xdg-open /you/dont/remember/where/english_paper.pdf
  vim `f rc lo`    =>     vim /etc/rc.local
  vim `f rc conf`  =>     vim /etc/rc.conf

Utilisant CtrlP dans vim je me dis que pouvoir avoir le même comportement dans le shell est tentant.

 

Et vous ? Des utilisateurs de fasd ?

 

Via cette discussion Reddit : I ported the Command-T matcher to CtrlP

  • # Lapin compris

    Posté par . Évalué à  3 .

    Je dois manquer de caféine parce que j'ai pas compris l'outil ?

    Je suis dans ma tour d'ivoire (rien à foutre des autres, dites moi un truc pour moi), si je ne pose pas explicitement une question pour les 99%, les kévin, les Mm Michu alors c'est que je ne parle pas d'eux.

    • [^] # Re: Lapin compris

      Posté par (page perso) . Évalué à  1 .

      j'ai l'impression qu'il s'agit d'une autocomplétion plus "intelligente"

      au lieu de se faire uniquement en fonction du début du nom (LIKE toto%) et du répertoire dans lequel on se trouve,
      ça fait des LIKE %toto% et de façon récursive dans l'arborescence du système de fichiers

      intéressant, faut voir à quelle vitesse ça réagit dans une arborescence importante

      Envoyé depuis mon Archlinux

      • [^] # Re: Lapin compris

        Posté par . Évalué à  2 .

        au lieu de se faire uniquement en fonction du début du nom (LIKE toto%) et du répertoire dans lequel on se trouve,
        ça fait des LIKE %toto% et de façon récursive dans l'arborescence du système de fichiers

        Autojump le fait déjà ça.

        Je suis dans ma tour d'ivoire (rien à foutre des autres, dites moi un truc pour moi), si je ne pose pas explicitement une question pour les 99%, les kévin, les Mm Michu alors c'est que je ne parle pas d'eux.

    • [^] # Re: Lapin compris

      Posté par . Évalué à  2 .

      Je me répond à moi même (je devais manquait de caféine).

      C'est un outils qui propose plusieurs alias pour différentes action (o => xdg-open, j => cd, etc) et qui au lieux d'utiliser un bout de chemin pour déterminer le chemin va pouvoir en utiliser plusieurs. Ainsi :

      j toto Bur
      
      

      Pourra emmener l'utilisateur dans /home/toto/Bureau (bien sûr l'exemple n'est pas le plus pertinent puisque cd ~toto/Bu aurait probablement le même résultat).

      Ça m'a l'air intéressant, j'ai pas encore essayé. Je mettais déjà plusieurs fois dis que ce serais cool de réutiliser les mécanismes d'autojump pour vim. Il faudra qu'il soit aussi bon qu'autojump pour que je puisse m'en servir (puisqu'ils se recoupent hachement).

      Je suis dans ma tour d'ivoire (rien à foutre des autres, dites moi un truc pour moi), si je ne pose pas explicitement une question pour les 99%, les kévin, les Mm Michu alors c'est que je ne parle pas d'eux.

      • [^] # Re: Lapin compris

        Posté par (page perso) . Évalué à  1 .

        Sauf erreur de ma part, autojump ne complète que les répertoires alors que fasd complète aussi les fichiers et part exemple utilise le fichier .viminfo pour proposer les fichiers récemment utilisé.

        Je viens seulement de l'installer donc je peux pas en dire plus pour l'instant sur sa pertinence.

        • [^] # Re: Lapin compris

          Posté par . Évalué à  2 .

          Oui, oui, mais autojump est, je trouve, bien intégré à mon shell avec son auto-complétion. fastd doit avoir le même niveau pour qu'il puisse espérer remplacer autojump dans mon shell.

          Je suis dans ma tour d'ivoire (rien à foutre des autres, dites moi un truc pour moi), si je ne pose pas explicitement une question pour les 99%, les kévin, les Mm Michu alors c'est que je ne parle pas d'eux.

      • [^] # Re: Lapin compris

        Posté par . Évalué à  1 .

        je devais manquait
        J'espère que tu as repris un café ce midi /o\

  • # Lien

    Posté par (page perso) . Évalué à  5 .

    Juste pour savoir, ça se trouve où cet outil ?

    • [^] # Re: Lien

      Posté par . Évalué à  4 .

      Ici : https://github.com/clvv/fasd

      Je suis dans ma tour d'ivoire (rien à foutre des autres, dites moi un truc pour moi), si je ne pose pas explicitement une question pour les 99%, les kévin, les Mm Michu alors c'est que je ne parle pas d'eux.

    • [^] # Re: Lien

      Posté par (page perso) . Évalué à  1 . Dernière modification : le 04/05/12 à 10:13

      Arf, désolé, j'ai oublié l'essentiel, il est bien sur github comme précisé par Barret Michel.

    • [^] # Re: Lien

      Posté par (page perso) . Évalué à  10 .

      Pas dur, il suffit de faire w fasd et il va trouver tout seul comment lancer un wget vers le bon tgz. C'était dans la page de manuel si tu avais tapé m f.

      • [^] # Re: Lien

        Posté par . Évalué à  3 .

        Personnellement j'utilise autojump au boulot et c'est vrai que ça fait peur à beaucoup de gens de voir des commandes ou des bouts de commandes plus ou moins incompréhensible.

        Je suis dans ma tour d'ivoire (rien à foutre des autres, dites moi un truc pour moi), si je ne pose pas explicitement une question pour les 99%, les kévin, les Mm Michu alors c'est que je ne parle pas d'eux.

  • # destroy

    Posté par . Évalué à  4 .

    J'attends avec impatience le jour où fasd va faire un bon vieux rm sur un dossier important ou bien ouvrir du contenu NSFW devant d'autres personnes, parce qu'on a cru que l'outil savait lire dans nos pensées et allait en faire ce à quoi on pensait au moment où on avait tapé que 2 ou 3 lettres absconses.

    • [^] # Re: destroy

      Posté par . Évalué à  2 .

      C'est un peu comme tout il faut savoir s'en servir. Typiquement si tu as du contenu NSFW tu n'es peut être pas particulièrement malin de laisser tes commandes liées à celui-ci aux milieux des autres. Personnellement j'ai un zshrc pour le loisir.

      Je suis dans ma tour d'ivoire (rien à foutre des autres, dites moi un truc pour moi), si je ne pose pas explicitement une question pour les 99%, les kévin, les Mm Michu alors c'est que je ne parle pas d'eux.

  • # Configuration

    Posté par (page perso) . Évalué à  1 .

    Pour compléter mon poste initial voici ma configuration faite de bouts pris dans la doc et ajouté à la fin de mon .bashrc .
    Comme pour autojump il faut faire quelques cd et ouverture de fichiers pour qu'il commence à apprendre.

    # fasd activation
    eval "$(fasd --init auto)"
    
    # function to execute built-in cd
    fasd_cd() { [ $# -gt 1 ] && cd "$(fasd -e echo "$@")" || fasd "$@"; }
    alias j='fasd_cd -d' # `-d' option present for bash completion}
    
    alias v='f -t -e vim -b viminfo' # quick opening files with vim
    alias o='a -e xdg-open' # quick opening files with xdg-open
    
    _fasd_bash_hook_cmd_complete v j o
    
    
  • # alias + locate

    Posté par . Évalué à  2 .

    On ne peut pas deja faire cela avec les alias et locate ?

    j abc

    alias j='cd `locate --limit 1 '

    v def conf

    alias v='vim `locate --limit 1 '

    m movie

    alias m='mplayer `locate --limit 1 + regexp qui va bien pour les fichier video '

    Si non l'idée est bonne, mais coder un soft pour ca …

    • [^] # Re: alias + locate

      Posté par . Évalué à  1 .

      Mais d'ailleurs, quel intérêt de programmer avec autre chose que des scripts shell ?
      Après tout le shell POSIX est turing complet, est disponible sur la majorité de systèmes, et ne dépends pas de l'architecture. Plutôt cool comme langage.

      Attendez, on me souffle dans l'oreille qu'un spécialiste des langages a lancé un projet de compilateur Caml vers POSIX Shell, tu peut déjà commencer à migrer tes applications.

      • [^] # Re: alias + locate

        Posté par . Évalué à  1 .

        Mais d'ailleurs, quel intérêt de programmer avec autre chose que des scripts shell ?

        Mais voyons, l'intérêt des autres langages est de servir de faire-valoir aux seuls vrais langages dignes de ce noms que sont Shell, TeX, brainfuck et consorts. Tel le Yin et le Yang, le bien et le mal, les langages de vrais geeks et ceux des kevins.

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.