IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

Peut-on exécuter/invoquer/appeler une commande readline non liée du bash?


Sujet :

Shell et commandes GNU

  1. #1
    Expert confirmé
    Homme Profil pro
    Développeur informatique en retraite
    Inscrit en
    Avril 2008
    Messages
    2 101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique en retraite

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 101
    Points : 5 849
    Points
    5 849
    Par défaut Peut-on exécuter/invoquer/appeler une commande readline non liée du bash?
    Bonjour.

    Dans la section "ReadLine" du man bash, on peut lire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
           overwrite-mode
                  Toggle  overwrite  mode.   With an explicit positive numeric argu-
                  ment, switches to overwrite mode.  With an  explicit  non-positive
                  numeric  argument,  switches to insert mode.  This command affects
                  only emacs mode; vi mode does overwrite differently.  Each call to
                  readline()  starts  in insert mode.  In overwrite mode, characters
                  bound to self-insert replace the text at point rather than pushing
                  the  text  to the right.  Characters bound to backward-delete-char
                  replace the character before point with a space.  By default, this
                  command is unbound.
    Il est indiqué que cette commande (ainsi que quelques autres) n'est pas liée à une clé.

    Peut-on l'invoquer sans la lier à une clé?

    Ou, vu du point de vue d'un emacsien:
    existe-t-il l'équivalent du "M-x" d'emacs qui permet d'appeler n'importe quelle commande du moment qu'on connaît son nom?

    Merci d'avance

  2. #2
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 259
    Points : 13 511
    Points
    13 511
    Par défaut
    Bonjour

    Le même man bash explique que dans ton ~/.inputrc, il y a la description de tes raccourcis clavier persos. (Et initialisationis, et macros)
    Donc, oui, c'est à cet endroit là que tu dois pouvoir relier une fonction à une touche, juste en connaissant son nom.
    Tu veux le relier à la volée? Utilise la commande bind.
    Tu veux utiliser une commande sans jamais la relier à une touche? Je ne sais pas.
    ESC est la touche méta. Même si M-x est compris, je n'arrive pas à entrer 'overwrite-mode 5' dans la foulée.

  3. #3
    Expert confirmé
    Homme Profil pro
    Développeur informatique en retraite
    Inscrit en
    Avril 2008
    Messages
    2 101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique en retraite

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 101
    Points : 5 849
    Points
    5 849
    Par défaut
    Bonjour et merci d'avoir répondu!

    Citation Envoyé par Flodelarab Voir le message
    Le même man bash explique que dans ton ~/.inputrc, il y a la description de tes raccourcis clavier persos. (Et initialisations, et macros)
    Donc, oui, c'est à cet endroit là que tu dois pouvoir relier une fonction à une touche, juste en connaissant son nom.
    Tu veux le relier à la volée? Utilise la commande bind.
    Oui, oui, je sais déjà tout ça! Mais merci quand même!
    D'ailleurs, le toujours même man bash (sous Mac OS X (j'avoue!)) explique les diverses syntaxes pour le ~/.inputrc. Et, parmi celles citées, ne marchent pas les syntaxes "en clair", comme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
                  M-Control-u: universal-argument
                  C-Meta-u: universal-argument
                  Control-u: universal-argument
                  Meta-Rubout: backward-kill-word
                  Control-o: "> output"
           The full set of GNU Emacs style escape sequences is
                  \C-    control prefix
                  \M-    meta prefix
    La seule manière que j'aie trouvée d'entrer une touche meta est d'utiliser la séquence d'escape correspondante:
    Code sh : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    "\eL": "|"  # M-shift-l
    "\eN": "~"  # M-shift-n
    "\e/": "\\" # M-/
    "\e(": "{}" # M-(
    "\e)": "}"  # M-)
     
    set keymap emacs-ctlx
    "\e(": "[]" # C-x M-(
    "\e)": "]"  # C-x M-)

    Tu veux utiliser une commande sans jamais la relier à une touche?
    Voui. C'est exactement ça!

    Je ne sais pas.
    ESC est la touche méta. Même si M-x est compris, je n'arrive pas à entrer 'overwrite-mode 5' dans la foulée.
    Chez moi, la touche meta-x n'est pas reliée (elle bipe).

    Vu le peu de commandes non reliées, je soupçonne fort que ce ne soit pas possible!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. appeler une commande ORACLE
    Par sayah_houssein dans le forum Servlets/JSP
    Réponses: 0
    Dernier message: 18/04/2011, 18h09
  2. Exécuter sans appeler une méthode
    Par Luke spywoker dans le forum Général Python
    Réponses: 4
    Dernier message: 08/04/2011, 06h50
  3. [Runtime] Appel à une commande UNIX dans Java
    Par nina2007 dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 02/07/2009, 13h27
  4. Appeler une commande nommée dans une variable
    Par kwakanar dans le forum Programmation (La)TeX avancée
    Réponses: 1
    Dernier message: 03/03/2008, 15h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo