Je viens de tester, ça a l'air pas mal, en effet. Ceci dit, je crois que je vais rester avec mon d et mon o pour plusieurs raisons.
La principale, c'est que la recherche « intéractive » de fasd n'est pas vraiment intéractive (peut-être l'est-elle avec bash ou zsh, je sais pas, même si j'en doute). Au sens, avec fzf, même avec des dizaines de milliers d'entrées, au fur et à mesure qu'on écrit on a en temps réel instantanément et sans bloquer l'interface (concurrent) une sélection qui se fait en fonction du chemin, pas besoin de taper un un numéro en regardant une liste, ni d'essayer de prévoir à l'aveugle si on a bien intuité le motif qui réduit la recherche (dans fasd comme dans autojump, d'ailleurs). Et même avec des milliers d'entrées, quelques touches suffisent à sélectionner un item en pratique. Et o a l'avantage qu'il ne nécessite pas d'avoir visité quelque chose avant : si c'est un dépôt git, il fera git ls-files, si c'est un dépôt fossil, fossil ls, et sinon il lance ag -g "" (ou find avec de bonnes options si le silver searcher ag n'est pas là) ce qui permet d'éviter quand même pas mal de fichiers qui n'ont pas l'air d'être du texte.
Du coup, en pratique, on fait d jusqu'à un répertoire, puis o pour sélectionner un fichier : en fait, o est parfois même utilisable directement depuis le $HOME avec un disque dur non ssd grâce à la limitation de profondeur de recherche lorsqu'il sent qu'il y en a trop. Avec un disque dur ssd, limite tout ça est presque inutile.
En fait, fzf est tellement fort, qu'il n'a même pas vraiment strictement besoin (même si ça aide) de quelque chose comme o ou d : si locate a sa base de données actualisée, parfois on peut se contenter de fzf uniquement : locate / | fzf ; avec mon ordi pas terrible c'est faisable, même si avec un petit délai : avec plus d'un million de fichiers, en écrivant juste quelques lettres on trouve en fait ce qu'on veut assez vite.
La deuxième raison, moins importante, c'est que d est un peu plus simple et ne nécessite pas de remplacer tout usage du cd built-in par le fasd_cd.
[^] # Re: Fasd
Posté par anaseto . En réponse au journal Chercher des répertoires bookmark avec un fuzzy finder. Évalué à 2.
Je viens de tester, ça a l'air pas mal, en effet. Ceci dit, je crois que je vais rester avec mon
det monopour plusieurs raisons.La principale, c'est que la recherche « intéractive » de fasd n'est pas vraiment intéractive (peut-être l'est-elle avec bash ou zsh, je sais pas, même si j'en doute). Au sens, avec fzf, même avec des dizaines de milliers d'entrées, au fur et à mesure qu'on écrit on a en temps réel instantanément et sans bloquer l'interface (concurrent) une sélection qui se fait en fonction du chemin, pas besoin de taper un un numéro en regardant une liste, ni d'essayer de prévoir à l'aveugle si on a bien intuité le motif qui réduit la recherche (dans fasd comme dans autojump, d'ailleurs). Et même avec des milliers d'entrées, quelques touches suffisent à sélectionner un item en pratique. Et
oa l'avantage qu'il ne nécessite pas d'avoir visité quelque chose avant : si c'est un dépôt git, il feragit ls-files, si c'est un dépôt fossil,fossil ls, et sinon il lanceag -g ""(oufindavec de bonnes options si le silver searcheragn'est pas là) ce qui permet d'éviter quand même pas mal de fichiers qui n'ont pas l'air d'être du texte.Du coup, en pratique, on fait
djusqu'à un répertoire, puisopour sélectionner un fichier : en fait,oest parfois même utilisable directement depuis le$HOMEavec un disque dur non ssd grâce à la limitation de profondeur de recherche lorsqu'il sent qu'il y en a trop. Avec un disque dur ssd, limite tout ça est presque inutile.En fait,
fzfest tellement fort, qu'il n'a même pas vraiment strictement besoin (même si ça aide) de quelque chose commeooud: silocatea sa base de données actualisée, parfois on peut se contenter de fzf uniquement :locate / | fzf; avec mon ordi pas terrible c'est faisable, même si avec un petit délai : avec plus d'un million de fichiers, en écrivant juste quelques lettres on trouve en fait ce qu'on veut assez vite.La deuxième raison, moins importante, c'est que
dest un peu plus simple et ne nécessite pas de remplacer tout usage ducdbuilt-in par lefasd_cd.