Avons-nous un tableau de raccourcis clavier qui traduit toutes les différentes façons de faire référence à une pression de touche? j'utilisezsh
, mais je suppose que s'il y avait une telle table, cela fonctionnerait pour n'importe quel shell.
La raison pour laquelle je demande, c'est que je voudrais attribuer des raccourcis clavier et je n'ai aucun moyen de savoir comment y faire référence (sauf si je vais en voler un qui est déjà défini).
Par exemple, dans «zbindkey», nous avons ce genre de chose:
[[ "$terminfo[kend]" == " O"* ]] && \
bindkey -M emacs "${terminfo[kend]/O/[}" end-of-line
... et je peux deviner que "kend" signifie que cela fait référence à la Endclé.
Vérification croisée avec bindkey
je vois ces lignes:
"^E" end-of-line
"^[OF" end-of-line
"^[[F" end-of-line
... donc j'espère que l'une de ces lignes fait référence à la End clé. Laquelle?
Nous l'avons également dans le fichier "bindkey":
bindkey "\e[A" history-beginning-search-backward
Maintenant, je sais que c'est la Up Arrowclé, mais comment pourrais-je savoir si je ne savais pas?
$ bindkey (at CLI)
... nous donne une langue différente pour la même clé:
"^[[A" history-beginning-search-backward
... mais au moins maintenant je sais que ^[[A
dans bindkey-at-CLI parler est la même chose que \e[A
dans bindkey-in-zbindkey speak. C'est facile. Autrefois sous DOS, Up Arrow c'était0;72
- vous pouviez trouver le code de numérisation de chaque frappe légale et il n'y avait qu'une seule langue.
Y a-t-il une table? Ou une autre manière de pouvoir choisir une frappe et savoir comment s'y référer dans terminfo[]
... dans "bindkey-in-zbindkey" ... dans "bindkey-at-CLI" et / ou dans n'importe quelle autre langue arrive-t-il?
Encore une fois, sous DOS, il y avait le scancode
programme - tapez une frappe, et vous avez obtenu le scancode. C'était d'une simplicité pécheresse.
D'après les réponses, je suppose qu'il n'y a aucun moyen d'imprimer un tableau de toutes les reliures possibles? Quoi qu'il en soit, "bindkey" fait presque ce que je veux:
pts/2 HP-y5-10-Debian1 root /aWorking/Docs $ bindkey -L
bindkey "^@" set-mark-command
bindkey "^A" beginning-of-line
bindkey "^B" backward-char
bindkey "^D" delete-char-or-list
bindkey "^E" end-of-line
...
au moins, je peux voir toutes les liaisons existantes, même si ce n'est pas toutes les liaisons possibles . Maintenant, s'il y avait juste un moyen de traduire les glyphes clés en termes «normaux»:
bindkey "Home" beginning-of-line
... alors je serais heureux.
stty -a
ditlnext
), puis sur la touche.