readline & séquence ESC : comment ça marche ?

Le
pfx
bonjour,

je rencontre des différences de fonctionnement pour l'édition de la
ligne de commande du shell (bash)
parfois home/end/Ctrl-FlecheGauche fonctionne comme attendu, parfois
cela ne fait que des tilde ou autres symboles
ces différences apparaissent lorsque j'utilise le bash dans différents
contextes (rxvt, console linux, ssh via putty, ssh via cygwin )

j'ai compris, me semble t il, que les actions affectées aux touches sont
définies dans ~/.inputrc et utilisées par readline.

Chaque touche est défini par une séquence d'échappement et c'est là
que cela devient moins clair

Je crois comprendre que chaque terminal génère sa propre séquence ESC
pour une touche (ou combinaison de touches) données. Et ces séquences ne
sont pas forcément identiques selon le terminal.
Est ce parce qu'à l'origine les fabricants de terminaux faisaient leur
sauce chacun dans leur coin ?

Pour que readline fonctionne avec différents terminaux, il suffirait
donc que je mette des sections $if / $endif avec les paramètres
spécifiques ?

Les séquences ESC ne sont pas franchement très lisible :
par ex, [HOME] me donne ^[[1~
Y a t il un "dictionnaire" quelque part associant des noms symboliques
de touches aux séquences ESC ?
(comme XK_Home pour X11 par exemple)
Existe t il une commande affichant la correspondance <nom de la touche>
/ <séquence escape correspondante> ?

merci








--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to debian-user-french-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Frédéric Boiteux
Le #18760471
Le Wed, 25 Feb 2009 08:18:14 +0100,
pfx
bonjour,



Salut,

je rencontre des différences de fonctionnement pour l'édition d e la
ligne de commande du shell (bash)


vaste problème...
parfois home/end/Ctrl-FlecheGauche fonctionne comme attendu, parfois
cela ne fait que des tilde ou autres symboles
ces différences apparaissent lorsque j'utilise le bash dans diffà ©rents
contextes (rxvt, console linux, ssh via putty, ssh via cygwin ...)

j'ai compris, me semble t il, que les actions affectées aux touches
sont définies dans ~/.inputrc et utilisées par readline.


Entre autres ; bash y est aussi pour quelque chose, mais surtout la
librairie terminfo (qui utilise la variable d'environnement TERM)...

Chaque touche est défini par une séquence d'échappement .. . et c'est
là que cela devient moins clair

Je crois comprendre que chaque terminal génère sa propre sà ©quence ESC
pour une touche (ou combinaison de touches) données. Et ces séq uences
ne sont pas forcément identiques selon le terminal.
Est ce parce qu'à l'origine les fabricants de terminaux faisaient le ur
sauce chacun dans leur coin ?


fabricants, systèmes d'exploitations, applications...

Pour que readline fonctionne avec différents terminaux, il suffirait
donc que je mette des sections $if / $endif avec les paramètres
spécifiques ?


Généralement la variable TERM sert à cela. inputrc peut à ©galement
jouer, surtout pour des réglages fins. Voir également le mode d' édition
de bash, à savoir 'set -e vi' ou 'set -e emacs' ...

Les séquences ESC ne sont pas franchement très lisible :
par ex, [HOME] me donne ^[[1~
Y a t il un "dictionnaire" quelque part associant des noms symboliques
de touches aux séquences ESC ?
(comme XK_Home pour X11 par exemple)
Existe t il une commande affichant la correspondance <nom de la
touche> / <séquence escape correspondante> ?


Cela dépend du terminal :-(

Fred.

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Publicité
Poster une réponse
Anonyme