Haben wir eine Tastaturbelegungstabelle, die alle Arten der Bezugnahme auf einen Tastendruck übersetzt? Ich benutze zsh
, aber ich gehe davon aus, dass es für jede Shell funktionieren würde, wenn es einen solchen Tisch gäbe.
Der Grund, den ich frage, ist, dass ich einige Tastenkombinationen zuweisen möchte und nicht wissen kann, wie ich auf sie verweisen soll (es sei denn, ich werde eine stehlen, die bereits definiert ist).
In 'zbindkey' haben wir zum Beispiel folgendes:
[[ "$terminfo[kend]" == " O"* ]] && \
bindkey -M emacs "${terminfo[kend]/O/[}" end-of-line
... und ich kann mir vorstellen, dass "kend" bedeutet, dass es sich um den EndSchlüssel handelt.
Gegenprüfung mit bindkey
Ich sehe diese Zeilen:
"^E" end-of-line
"^[OF" end-of-line
"^[[F" end-of-line
... also ich vertraue darauf, dass sich eine dieser Zeilen auf den EndSchlüssel bezieht . Welcher?
Wir haben dies auch in der "bindkey" -Datei:
bindkey "\e[A" history-beginning-search-backward
Nun, ich weiß zufällig, dass das der Up ArrowSchlüssel ist, aber wie könnte ich herausfinden, ob ich es nicht wusste?
$ bindkey (at CLI)
... gibt uns eine andere Sprache für den gleichen Schlüssel:
"^[[A" history-beginning-search-backward
... aber zumindest weiß ich jetzt, dass ^[[A
in bindkey-at-CLI speak dasselbe ist wie \e[A
in bindkey-in-zbindkey speak. Das ist leicht. In den alten Tagen in DOS, das Up Arrow war 0;72
- Sie den Scan - Code eines jeden Rechtstastendruck finden konnten , und es gab nur die eine Sprache.
Ist dort ein Tisch? Oder eine andere Möglichkeit, in der Lage zu sein, einen Tastenanschlag zu wählen und zu wissen, wie man darauf verweist terminfo[]
... in "bindkey-in-zbindkey" ... in "bindkey-at-CLI" und / oder in einer beliebigen anderen Sprache zufällig sein?
Wieder gab es unter DOS das scancode
Programm - geben Sie einen Tastendruck ein, und Sie haben den Scancode erhalten. Es war sündhaft leicht.
Aus den Antworten schätze ich dann, dass es keine Möglichkeit gibt, eine Tabelle aller möglichen Bindungen auszudrucken? Wie auch immer, bindkey macht fast das, was ich will:
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
...
Zumindest kann ich alle vorhandenen Bindungen sehen, auch wenn nicht alle möglichen Bindungen. Wenn es nur eine Möglichkeit gäbe, die wichtigsten Glyphen in "reguläre" Begriffe zu übersetzen:
bindkey "Home" beginning-of-line
... dann würde ich mich freuen.
stty -a
sagtlnext
) und dann die Taste.