Quel est le format général du nom de clé pour les raccourcis clavier dans le fichier «inputrc»?

17

Je comprends que le format des raccourcis clavier dans le inputrcfichier est:

keyname: function-name or macro

Pour le nom de clé, j'ai vu des choses comme:

"\e[B"
"\e[1~"
"\e[5D"
"\M-l"
"\C-[OD"
"\e\e[D"

Quelle est la signification de ces noms de clés et quel est le format général du nom de clé? Veuillez partager un lien vers des documents.

Misha Moroshko
la source
2
Pour vos documents, je vous recommande de readline(3)consulter la page de manuel ou le manuel d'utilisation readline .
jw013
1
Vérifiez votre configuration de clé (readline - inputrc) via: $ bind -p
vigo

Réponses:

12

La liaison de touches peut être effectuée en utilisant l'une des formes suivantes:

  1. nom clé: nom_commande
  2. "séquence de touches": nom_commande

Dans la première forme, vous pouvez épeler le nom d'une seule clé. Par exemple, CONTROL-U serait écrit comme control-u. Ceci est utile pour lier des commandes à des clés uniques.

Dans le second formulaire, vous spécifiez une chaîne qui décrit une séquence de clés qui sera liée à la commande. Celui que vous avez donné comme exemple est les séquences d'échappement de barre oblique inversée emacs-tyle pour représenter les touches spéciales

\C- Contrôle
\M- Meta
\e- Escape

Vous pouvez spécifier une barre oblique inverse à l'aide d'une autre barre oblique inverse - \\. De même 'et "peut être échappé aussi - \'et\"

Mise à jour

Ces caractères sont ce que votre terminal interprète lorsque vous appuyez sur des touches spéciales. Vous ne voulez pas lier des alphabets et des chiffres normaux dans votre liaison de clé car vous pouvez les utiliser régulièrement et peut provoquer des problèmes lorsque vous frappez accidentellement une combinaison qui a été mappée dans votre fichier ~/.inputrcou /etc/inputrc.

[1~ is what is interpreted by your terminal when you press your HOME button. 

Pour en savoir plus, tapez simplement readsur l'invite de votre terminal et appuyez sur tous les types de touches spéciales comme les touches de fonction, HOME, END, les touches fléchées, etc. et voyez ce qui s'affiche.

Voici une petite référence que j'ai trouvée qui peut offrir une compréhension de base. Bonne chance! :)

jaypal singh
la source
2
Que signifie \e[1~, \M-let \C-[ODveut dire? La \e, \Met les \Cparties sont claires. Et le reste? Par exemple: [1~- Dois-je appuyer sur Shift+ {+ 1+ Shift+ `?
Misha Moroshko
J'ai mis à jour la réponse pour vous. J'espère que cela pourra aider!
jaypal singh
Le lien est rompu. Je ne sais toujours pas à quoi servent le tilde ou le support ouvert ??
Carl Smith