In Emacs
möchte ich eine bestimmte Tastenkombination an einen Befehl binden. Da ich Emacs
im Terminal-Modus innerhalb von iTerm2
auf OS X verwende, muss ich das Schlüssel-Combo in die Zeichen-Escape-Sequenz übersetzen und diese Sequenz mit iTerm2
registrieren, damit es die Tastenkombination erkennt.
Aber wie finde ich bei einer Tastenkombination die entsprechende Sequenz? Zum Beispiel habe ich festgestellt, dass etwas wie ^[[1;8A
Strg + Alt + oben entspricht (wo ich Alt funktioniert als +Esc
in iTerm2
), aber ich habe keine Ahnung, wie diese Tastenkombination in diese bestimmte Sequenz übersetzt wird.
Gibt es eine Möglichkeit, die Escape-Sequenz für eine bestimmte Tastenkombination nachzuschlagen oder auszuarbeiten? Zum Beispiel, was ist die Sequenz für Strg + Alt + r ?
Eine verwandte Frage, kann mir jemand die Beziehung zwischen dem Einrichten einer Schlüsselkombination mit der entsprechenden Sequenz in iTerm2
und dem Umwandeln einer Sequenz in seine interne Schlüsselrepräsentation mit Emacs
in input-decode-map
( zB .emacs
)? Es scheint mir, dass das Einrichten in (define-key input-decode-map "[escape_sequencehere]" [internal_key_representation_here]
alleine ausreicht, um die Bindung in iTerm2
zu machen, also wann und warum müssen wir die letztere in Emacs
einrichten? (Und vielleicht brauchen wir beide, damit etwas funktioniert?)
Einige der Tastenkombinationen werden direkt an die Anwendung gesendet, die in iTerm2
ausgeführt wird. Du kannst es bekommen
mit ctrl
+ v
approach (siehe Wie breche ich in bash eine Funktionstaste an einen Befehl? ) oder
sed -n l
(beachten Sie Kleinbuchstaben L
). Zum Beispiel können Sie sehen, was die Anwendung empfängt, wenn Sie senden ( shift
+ alt
+ up
):
Wenn eine Tastenkombination nicht durchkommt, können Sie iTerm2
an weitergeben und zuordnen eine Tastenkombination, die Sie wie oben beschrieben erkennen können.
Sie können beispielsweise ctrl
+ alt
+ cmd
+ R
an ESC+sdf
senden und zuordnen und Ihr Terminal erhält ^[sdf
, das Sie einem Befehl in Emacs zuweisen können.
In Ihrem Terminal-Typ showkey -a
und lassen Sie die Tastenanschläge fliegen.
Tags und Links emacs iterm2 key-bindings