Ich versuche, einige der Standardschlüsselkombinationen in iTerm2 neu zuzuordnen, und möchte verstehen, was passiert, wenn ich Schlüssel an "Hex-Codes senden" binde.
Ein vorheriger Beitrag hat mir geholfen, die Tastenkombinationen Strg-A und Strg-E den Tastenkombinationen Cmd-Links und Cmd-Rechts zuzuordnen. Ich möchte jedoch auch andere Tastenkombinationen neu zuordnen. ( Link zum vorherigen Stackoverflow-Beitrag ).
Ich habe eine vage Vorstellung davon, dass es sich um Hex-Codes handelt, aber ich bin an einem Punkt angelangt, an dem ich nicht herausfinden kann, wohin ich als nächstes gehen soll, um zu verstehen, was los ist oder was zu tun ist.
Antworten:
Diese Hex-Codes sind nur Folgen von Bytes. Wenn Sie beispielsweise eine Tastenkombination zuordnen
0x66 0x6f 0x6f
, wird sie eingefügtfoo
.0xc3 0xa4
würde ä einfügen, wenn Sie UTF-8 verwenden.0x1b 0x1b 0x5b 0x43
bedeutetescape escape [ C
.Einige Sequenzen von Bytes wie ANSI-Escape-Sequenzen und sogar einzelne Bytes wie ASCII-Steuerzeichen haben in Terminals eine spezielle Bedeutung.
Um ⌘ ← und ⌘ → an den Anfang und das Ende der Zeile zu setzen, können Sie sie 0x01 (^ A in der Caret-Notation) und 0x05 (^ E in der Caret-Notation) zuweisen:
Sie können ein Wort vorwärts löschen lassen, indem Sie es zuweisen
\ed
:Durch Ändern von ⌥ ← und ⌥ → zu
\eb
und\ef
in den iTerm-Einstellungen werden diese auch in Programmen geändert, die keine Readline- oder Emacs-Tastaturbelegung unterstützen. Eine andere Möglichkeit ist, dies zu ~ / .inputrc hinzuzufügen :Sie können
read
Tastenkombinationen ausführen und drücken, um zu sehen, welche Zeichen sie einfügen. Beispiel: ⌥ ← fügt^[^[[D
standardmäßig ein, wobei^[
in der Caret-Notation ein Escapezeichen angezeigt wird .Siehe auch http://code.google.com/p/iterm2/wiki/Keybindings .
quelle
Ctrl+Alt+<char>
mit zu<char>
seini
,j
,k
,l
undu
)Ich würde vorschlagen, Key Codes ($ 0) mit Many Tricks zu installieren und die Verknüpfungen selbst herauszufinden.
Wenn Sie zum Beispiel die Standardverknüpfung für das (Weiter-) Löschen eines Zeichens neu zuordnen möchten - dies ist Strg-D (
⌃D
) -, um so einfach wie das Drücken der Weiter-Entf-Taste (⌦
) zu sein, würden Sie…Öffnen Sie die App und drücken Sie
Ctrl-D
Fügen Sie in iTerm 2 die Unicode-Verknüpfung unter iTerm> Einstellungen> Tasten hinzu
Hinweis: Kopieren Sie es nicht und fügen Sie es nicht ein, sondern geben Sie den Unicode ohne Leerzeichen ein.
quelle
Der beste Weg, den ich gefunden habe, war entweder das Senden von Schlüsselcodes (wie von @pattulus beschrieben) oder die Verwendung von vim-Schlüsselbindungen.
Hinweis auf Tastencodes: Eigentlich kann man es nicht durch Senden des Unicode - String funktioniert , wie oben beschrieben, müssen Sie sowohl den Modifikator und den Schlüssel zu sammen , falls senden von Control+ DSie dies als Code senden müssen:
0x840101 0x4
wo0x840101
ist die Steuerungstaste Modifikator und kann über den Schlüsselcode bezogen werden .Hinweis zum Senden als VIM-Sequenz : Wie in der iTerm2- Dokumentation beschrieben , können Sie einen Schlüsselcode im VIM-Bindings-Format
\<C-d>
senden, z. B. zum Senden von Control+ D(dies\
ist wichtig).Ich persönlich bevorzuge die VIM-Schlüsselbindung, da sie besser lesbar ist und Sie später verstehen, was Sie getan haben.
quelle
Check out Karabiner .
Mit diesem Tool können Sie wichtige benutzerdefinierte Zuordnungen für bestimmte Anwendungen erstellen. Es wird mit einigen Tools geliefert, die dabei helfen.
quelle