Hier il m'est arrivé la chose suivante, avec bash en mode 'set -o vi'.
Au moment de récupérer la dernière commande par 'Esc k', mon doigt a
dérapé sur le clavier, et du coup, au lieu de lire :
scp user@host:/path localname
j'ai obtenu :
/usr/bin/scp user@host:/path localname
Comment se fait-ce ? Plus exactement, comment reproduire ce comportement
que je trouve très utile ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Olivier Miakinen
Bonjour,
Le 11/03/2014 15:11, j'écrivais :
Hier il m'est arrivé la chose suivante, avec bash en mode 'set -o vi'. Au moment de récupérer la dernière commande par 'Esc k', mon doigt a dérapé sur le clavier, et du coup, au lieu de lire : scp :/path localname j'ai obtenu : /usr/bin/scp :/path localname
Comment se fait-ce ? Plus exactement, comment reproduire ce comportement que je trouve très utile ?
Il n'y a donc personne qui sache quelle combinaison de touches permet de remplacer automatiquement « commande arguments » par « /chemin/commande arguments » ?
-- Olivier Miakinen
Bonjour,
Le 11/03/2014 15:11, j'écrivais :
Hier il m'est arrivé la chose suivante, avec bash en mode 'set -o vi'.
Au moment de récupérer la dernière commande par 'Esc k', mon doigt a
dérapé sur le clavier, et du coup, au lieu de lire :
scp user@host:/path localname
j'ai obtenu :
/usr/bin/scp user@host:/path localname
Comment se fait-ce ? Plus exactement, comment reproduire ce comportement
que je trouve très utile ?
Il n'y a donc personne qui sache quelle combinaison de touches
permet de remplacer automatiquement « commande arguments » par
« /chemin/commande arguments » ?
Hier il m'est arrivé la chose suivante, avec bash en mode 'set -o vi'. Au moment de récupérer la dernière commande par 'Esc k', mon doigt a dérapé sur le clavier, et du coup, au lieu de lire : scp :/path localname j'ai obtenu : /usr/bin/scp :/path localname
Comment se fait-ce ? Plus exactement, comment reproduire ce comportement que je trouve très utile ?
Il n'y a donc personne qui sache quelle combinaison de touches permet de remplacer automatiquement « commande arguments » par « /chemin/commande arguments » ?
-- Olivier Miakinen
Damien Wyart
* Olivier Miakinen <om+ in fr.comp.os.unix:
Il n'y a donc personne qui sache quelle combinaison de touches permet de remplacer automatiquement « commande arguments » par « /chemin/commande arguments » ?
J'ai bien cherché, mais je n'ai pas trouvé.
Ce que tu indiques ressemble à l'appel à shell-expand-line (voir le man bash), mais cette fonction n'est pas "bindée" en mode vi (voir http://www.catonmat.net/download/bash-vi-editing-mode-cheat-sheet.txt).
La piste où le chemin complet serait dans l'historique ne tient pas non plus (ne semble pas possible en bash, et de toutes façons tu aurais dans ce cas toujours le comportement).
Donc je sèche !
-- DW
* Olivier Miakinen <om+news@miakinen.net> in fr.comp.os.unix:
Il n'y a donc personne qui sache quelle combinaison de touches permet
de remplacer automatiquement « commande arguments » par
« /chemin/commande arguments » ?
J'ai bien cherché, mais je n'ai pas trouvé.
Ce que tu indiques ressemble à l'appel à shell-expand-line (voir le man
bash), mais cette fonction n'est pas "bindée" en mode vi (voir
http://www.catonmat.net/download/bash-vi-editing-mode-cheat-sheet.txt).
La piste où le chemin complet serait dans l'historique ne tient pas non
plus (ne semble pas possible en bash, et de toutes façons tu aurais dans
ce cas toujours le comportement).
Il n'y a donc personne qui sache quelle combinaison de touches permet de remplacer automatiquement « commande arguments » par « /chemin/commande arguments » ?
J'ai bien cherché, mais je n'ai pas trouvé.
Ce que tu indiques ressemble à l'appel à shell-expand-line (voir le man bash), mais cette fonction n'est pas "bindée" en mode vi (voir http://www.catonmat.net/download/bash-vi-editing-mode-cheat-sheet.txt).
La piste où le chemin complet serait dans l'historique ne tient pas non plus (ne semble pas possible en bash, et de toutes façons tu aurais dans ce cas toujours le comportement).
Donc je sèche !
-- DW
Damien Wyart
* Olivier Miakinen <om+ in fr.comp.os.unix:
> '--------------+------------------------------------------------------------' > | * | Insert all possible completions. | > '--------------'------------------------------------------------------------'
Et effectivement, « Esc * » complète le chemin. Un grand merci à toi !
Bizarre car j'y avais pensé (j'ai examiné toute la liste) mais quand j'ai testé avant de te répondre,sur ma machine, ça ne complétait pas le chemin (de plus, s'il existe plusieurs complétions, elles seront toutes insérées, et je pense que cela risque de te gêner !). Cela doit dépendre de la configuration de bash et éventuellement de sa version...
Ceci dit, tant mieux si cela répond, même de façon détournée, à ta question... :)
-- DW
* Olivier Miakinen <om+news@miakinen.net> in fr.comp.os.unix:
> '--------------+------------------------------------------------------------'
> | * | Insert all possible completions. |
> '--------------'------------------------------------------------------------'
Et effectivement, « Esc * » complète le chemin. Un grand merci à toi !
Bizarre car j'y avais pensé (j'ai examiné toute la liste) mais quand
j'ai testé avant de te répondre,sur ma machine, ça ne complétait pas le
chemin (de plus, s'il existe plusieurs complétions, elles seront toutes
insérées, et je pense que cela risque de te gêner !).
Cela doit dépendre de la configuration de bash et éventuellement de sa
version...
Ceci dit, tant mieux si cela répond, même de façon détournée, à ta
question... :)
> '--------------+------------------------------------------------------------' > | * | Insert all possible completions. | > '--------------'------------------------------------------------------------'
Et effectivement, « Esc * » complète le chemin. Un grand merci à toi !
Bizarre car j'y avais pensé (j'ai examiné toute la liste) mais quand j'ai testé avant de te répondre,sur ma machine, ça ne complétait pas le chemin (de plus, s'il existe plusieurs complétions, elles seront toutes insérées, et je pense que cela risque de te gêner !). Cela doit dépendre de la configuration de bash et éventuellement de sa version...
Ceci dit, tant mieux si cela répond, même de façon détournée, à ta question... :)
-- DW
Paul Gaborit
À (at) Thu, 20 Mar 2014 11:54:49 +0100, Damien Wyart écrivait (wrote):
* Olivier Miakinen <om+ in fr.comp.os.unix:
Il n'y a donc personne qui sache quelle combinaison de touches permet de remplacer automatiquement « commande arguments » par « /chemin/commande arguments » ?
J'ai bien cherché, mais je n'ai pas trouvé.
Le problème est que ça n'a pas toujours de sens. Par exemple, si la commande est une built-in ou une fonction...
Il y a bien 'where' et 'which' qui peuvent donner des informations. Mais ça ne répond pas au besoins de remplacement automagique.
-- Paul Gaborit - <http://perso.mines-albi.fr/~gaborit/>
À (at) Thu, 20 Mar 2014 11:54:49 +0100,
Damien Wyart <damien.wyart@free.fr> écrivait (wrote):
* Olivier Miakinen <om+news@miakinen.net> in fr.comp.os.unix:
Il n'y a donc personne qui sache quelle combinaison de touches permet
de remplacer automatiquement « commande arguments » par
« /chemin/commande arguments » ?
J'ai bien cherché, mais je n'ai pas trouvé.
Le problème est que ça n'a pas toujours de sens. Par exemple, si la
commande est une built-in ou une fonction...
Il y a bien 'where' et 'which' qui peuvent donner des informations. Mais
ça ne répond pas au besoins de remplacement automagique.
--
Paul Gaborit - <http://perso.mines-albi.fr/~gaborit/>
À (at) Thu, 20 Mar 2014 11:54:49 +0100, Damien Wyart écrivait (wrote):
* Olivier Miakinen <om+ in fr.comp.os.unix:
Il n'y a donc personne qui sache quelle combinaison de touches permet de remplacer automatiquement « commande arguments » par « /chemin/commande arguments » ?
J'ai bien cherché, mais je n'ai pas trouvé.
Le problème est que ça n'a pas toujours de sens. Par exemple, si la commande est une built-in ou une fonction...
Il y a bien 'where' et 'which' qui peuvent donner des informations. Mais ça ne répond pas au besoins de remplacement automagique.
-- Paul Gaborit - <http://perso.mines-albi.fr/~gaborit/>
Nicolas George
Olivier Miakinen , dans le message <lgedji$2lvh$, a écrit :
Il n'y a donc personne qui sache quelle combinaison de touches permet de remplacer automatiquement « commande arguments » par « /chemin/commande arguments » ?
Avec zsh, « =commande » sera remplacé à l'exécution, et aussi par la complétion s'il n'y a pas de commande plus longue qui complète de même.
Olivier Miakinen , dans le message <lgedji$2lvh$1@cabale.usenet-fr.net>,
a écrit :
Il n'y a donc personne qui sache quelle combinaison de touches
permet de remplacer automatiquement « commande arguments » par
« /chemin/commande arguments » ?
Avec zsh, « =commande » sera remplacé à l'exécution, et aussi par la
complétion s'il n'y a pas de commande plus longue qui complète de même.
Olivier Miakinen , dans le message <lgedji$2lvh$, a écrit :
Il n'y a donc personne qui sache quelle combinaison de touches permet de remplacer automatiquement « commande arguments » par « /chemin/commande arguments » ?
Avec zsh, « =commande » sera remplacé à l'exécution, et aussi par la complétion s'il n'y a pas de commande plus longue qui complète de même.
Lucas Levrel
Le 20 mars 2014, Olivier Miakinen a écrit :
Cela y répond parfaitement, puisque la première question était « mais comment diable ai-je pu faire ça en dérapant sur le clavier » !
Faire * au lieu de k, ce n'est pas une glissade, c'est un triple lutz !
-- LL Eν οιδα οτι ουδεν οιδα (Σωκρατης)
Le 20 mars 2014, Olivier Miakinen a écrit :
Cela y répond parfaitement, puisque la première question était « mais
comment diable ai-je pu faire ça en dérapant sur le clavier » !
Faire * au lieu de k, ce n'est pas une glissade, c'est un triple lutz !
Cela y répond parfaitement, puisque la première question était « mais comment diable ai-je pu faire ça en dérapant sur le clavier » !
Faire * au lieu de k, ce n'est pas une glissade, c'est un triple lutz !
-- LL Eν οιδα οτι ουδεν οιδα (Σωκρατης)
Olivier Miakinen
Le 20/03/2014 20:38, Lucas Levrel a écrit :
Cela y répond parfaitement, puisque la première question était « mais comment diable ai-je pu faire ça en dérapant sur le clavier » !
Faire * au lieu de k, ce n'est pas une glissade, c'est un triple lutz !
J'avais déjà fait Esc k. C'est probablement au moment d'appuyer sur Entrée que j'ai dérapé sur *, ce qui représente un écart assez faible sur un clavier Azerty.
Le 20/03/2014 20:38, Lucas Levrel a écrit :
Cela y répond parfaitement, puisque la première question était « mais
comment diable ai-je pu faire ça en dérapant sur le clavier » !
Faire * au lieu de k, ce n'est pas une glissade, c'est un triple lutz !
J'avais déjà fait Esc k. C'est probablement au moment d'appuyer sur
Entrée que j'ai dérapé sur *, ce qui représente un écart assez faible
sur un clavier Azerty.
Cela y répond parfaitement, puisque la première question était « mais comment diable ai-je pu faire ça en dérapant sur le clavier » !
Faire * au lieu de k, ce n'est pas une glissade, c'est un triple lutz !
J'avais déjà fait Esc k. C'est probablement au moment d'appuyer sur Entrée que j'ai dérapé sur *, ce qui représente un écart assez faible sur un clavier Azerty.