Fasd: Comment fonctionne le mode interactif ?

Créé le 23 juin 2019  ·  12Commentaires  ·  Source: clvv/fasd

J'ai installé sur mon mac et j'utilise s tools , qui renvoie une liste de résultats puis une invite, un peu comme ceci :

2   15         /Users/moi/some/path/tools
1   32.3401    /Users/moi/another/path/somewhere/else/tools
>

Je suppose que l'invite attend l'un des nombres sur la gauche. J'entre 1 , mais cela ne change pas de dossier. J'ai également entré z 1 et cd 1 à l'invite, ni l'un ni l'autre ne fonctionne.

Mon utilisation est-elle correcte mais elle ne fonctionne pas correctement sur ma machine ? Ou est-ce que j'entre dans la mauvaise chose ? Il ne semble pas y avoir de documentation sur son fonctionnement.

Tous les 12 commentaires

En essayant de comprendre cela, https://github.com/clvv/fasd/blob/master/fasd#L603 - est-il simplement destiné à imprimer le chemin lorsque j'entre un nombre ?

elif [ "$interactive" ] || [ "$exec" -a -z "$fnd$lst$show" -a -t 1 ]; then
      if [ "$(printf %s "$res" | sed -n '$=')" -gt 1 ]; then
        res="$(printf %s\\n "$res" | sort -n${R})"
        printf %s\\n "$res" | sed = | sed 'N;s/\n/  /' | sort -nr >&2
        printf "> " >&2
        local i; read i; [ 0 -lt "${i:-0}" ] 2>> "$_FASD_SINK" || return 1
      fi
      res="$(printf %s\\n "$res" | sed -n "${i:-1}"'s/^[^ ]*[ ]*//p')"

La solution de contournement utilisable la plus proche que j'ai pu trouver est s | xargs cd , mais ce n'est pas idéal car cela échoue s'il y a un espace dans le chemin. J'ai l'impression que l'invite du mode interactif devrait se comporter un peu comme z ?

l'alias que vous voulez est zz . c'est mentionné dans le README.

Cd de fréquence interactif, j'ai implémenté sur

2019年7月21日(日) 11:24 aasril [email protected] :

l'alias que vous voulez est zz. c'est mentionné dans le README.

-
Vous recevez ceci parce que vous êtes abonné à ce fil.
Répondez directement à cet e-mail, consultez-le sur GitHub
https://github.com/clvv/fasd/issues/141?email_source=notifications&email_token=AD5GCVATNZPVODYQELZRSWTQAPCE3A5CNFSM4H2XWRSKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVX5CNFSM4H2XWRSKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVX5CNFSM4H2XWRSKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVX2LYGOJKTDN5
ou couper le fil
https://github.com/notifications/unsubscribe-auth/AD5GCVCXLXKH6P7HS73EA7LQAPCE3ANCNFSM4H2XWRSA
.

D'accord. Merci beaucoup.

J'utilisais également fzf comme solution de contournement pour le fait que le mode interactif ne fonctionne pas sur mon système.

L'ajout de | fzf (et de tout argument fzf que l'on aime) à la fin de toute commande fasd permet une sélection interactive.

@sypl : Je pense que vous devriez rouvrir ce problème. @ u1and0 a suggéré une solution de contournement intéressante avec un outil externe utilisant fzf, mais cela ne résout pas le fait que le mode interactif de fasd ne fonctionne pas comme il se doit sur certains systèmes (y compris le vôtre et le mien).

@prosoitos Quel est le comportement prévu de la commande s ? Est-il destiné à cd et à ouvrir les fichiers/dossiers que je sélectionne dans la liste des résultats ? Et le fait-il dans d'autres systèmes d'exploitation ? Si c'est le cas, oui, cela ne fonctionne pas et je voudrais probablement rouvrir cela. Mais s'il ne s'agit que d'une recherche de liste, cela fonctionne comme prévu.

Oh oui. C'est ce que fait s . Je n'avais pas bien lu votre message et je me suis trompé sur votre titre. s n'a rien à voir avec le mode interactif et avec votre titre, je pensais que vous faisiez référence au drapeau i (mode interactif).

Alors oui, le comportement que vous décrivez avec fasd -s est normal. Mon problème est que fasd -i ne fonctionne pas sur mon système et je pensais que c'était aussi votre problème.

Eh bien, en fait, non : vous ne devriez pas recevoir d'invite lorsque vous utilisez fasd -s . Vous devriez obtenir une liste avec leurs valeurs de poids.

Donc, seulement ça :

15         /Users/moi/some/path/tools
32.3401    /Users/moi/another/path/somewhere/else/tools

Ce que vous montrez ressemble au résultat de fasd -i -s qui est la version interactive de fasd -s .

Si vous tapez un nombre à l'invite et Return , vous devriez obtenir le chemin et la valeur de poids de la ligne correspondante en sortie.

Et si vous vouliez cd vers ce chemin, comme l' a souligné zz qui signifie fasd_cd -d -i . Sauf pour moi, pour une raison quelconque, les versions interactives ne fonctionnent pas. Mais le problème est probablement de mon côté puisque personne d'autre ne s'en est plaint.

Désolé, je suis confus par votre message. Et il semble qu'en effet, vous ne devriez pas rouvrir le problème. Vous n'utilisiez tout simplement pas la commande fasd appropriée.

Et je dois des excuses à @aasril pour mon pouce vers le bas injuste et malavisé (que je supprimerai tout de suite) car sa réponse était tout à fait adéquate et j'avais tort car je n'avais pas lu votre message d'assez près et j'ai été aveuglé par votre titre + mon propre problème avec le mode interactif (je n'avais pas réalisé que vous utilisiez la mauvaise commande et je pensais que vous obteniez un mauvais comportement à partir de la bonne commande. Mon mal pour ne pas avoir lu attentivement :worried: *se sentir honteux*) .

Oh, et maintenant je me rends compte de ce à quoi vous faisiez référence lorsque vous parliez de l'outil s : il y a un alias s qui signifie fasd -i -s . Alors oui, le comportement que vous observez lorsque vous utilisez s est parfaitement normal. C'est simplement le mode interactif pour lister vos entrées. Il n'est pas censé s'adapter à votre sélection.

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

ixil picture ixil  ·  5Commentaires

pearofducks picture pearofducks  ·  7Commentaires

sindresorhus picture sindresorhus  ·  11Commentaires

ghost picture ghost  ·  12Commentaires

rosshadden picture rosshadden  ·  6Commentaires