/ / Wie binde ich Control + Apostroph via Bindkey in zsh - zsh, console, bind?

So binden Sie Control + Apostroph per Bindkey in zsh - zsh, console, bind

Zsh

Gibt es eine Möglichkeit, Control + Apostophe über bindkey zu binden?
Ich habe versucht:

 bindkey "C-""
bindkey "^""
bindkey "C-x27"

und all das funktioniert nicht

Antworten:

3 für Antwort № 1

Wahrscheinlich nicht. Zumindest nicht ohne Ihr Terminal zu verändern.

Eine Shell läuft auf einem Terminal. Die grundlegende Eingabeeinheit eines Terminals ist ein Zeichen, kein Tastendruck. Wenn Sie Ihrer Shell eine Schlüsselbindung hinzufügen, binden Sie wirklich eine Zeichenfolge, keine Tastenkombination. Es gibt kein Strg-Apostroph-Zeichen.

Seit den frühesten ASCII-basierten TerminalsEs gibt eine Reihe von Tasten, die mit Strg kombiniert werden können, um ein einzelnes Zeichen zu erzeugen. Die Schlüssel, die dies tun, entsprechen den ASCII-Codes 0x3f bis 0x5f: ? @ A-Z [ ] ^ _

Wenn die Strg-Taste mit einem dieser Zeichen gedrückt wird, wird der Wert mit invertiertem 0x40-Bit übertragen. 0x3f ? wird zu 0x7f DELund der Rest wird zu 0x00 bis 0x1f. Apostroph ist 0x27. Wenn es also nach dieser Regel mit der Strg-Taste kombiniert wird, wird es zu 0x67 g. Bekommen ein g Wenn Sie Strg-Apostroph eingeben, ist dies nicht sinnvoll. Das Terminal tut dies also nicht.

Es ist jedoch möglich, Schlüssel zu binden, die nicht "t" sindentsprechen einzelnen ASCII-Zeichen, wie z. B. den Pfeiltasten. Dies funktioniert, weil diese Tasten vom Terminal in eine Escape-Sequenz übersetzt werden - eine Sequenz von Zeichen, die mit Escape beginnt. Diese Sequenzen können an nützliche Aktionen gebunden werden. Beispielsweise, ESC [ A ist normalerweise die Aufwärtspfeiltaste, die an eine historienbezogene Aktion in der Shell gebunden ist.

Wenn Sie entschlossen genug sind, können Sie überzeugenIhr Terminal, um eine Escape-Sequenz für Strg-Apostroph auszugeben, und verwenden Sie diese Escape-Sequenz dann in Ihrem Bindkey-Befehl. Informationen dazu finden Sie in der Dokumentation Ihres Terminals.


Verwandte Fragen
Bemerkungen
Einen Kommentar hinzufügen