Gibt es eine Möglichkeit, sich C-[
an etwas zu binden und nicht alle M-
(Meta-) Bindungen durcheinander zu bringen?
Nicht das erste Mal, dass diese Frage auftaucht. Leider ist die einzige Lösung, die im vorherigen Thread angeboten wurde, a) Linux-spezifisch, b) erfordert ein externes Tool (wiederum Linux-spezifisch), das nichts mit Emacs zu tun hat. Ebenso hätte ich so etwas wie Karabiner auf einem OS X verwenden können, um die C-[
Sequenz zu stehlen , bevor Emacs sie jemals bekommt, aber das ist klobig und teuer.
Angesichts der Tatsache, dass es Emacs ist, der darauf besteht, C-[
zu ESC
, C-i
zu TAB
und wahrscheinlich zu anderen zu übersetzen , würde ich diese Beziehungen sehr gerne auflösen und wertvolle Schlüsselsequenzen zurückbekommen. Kürzlich bin ich auf dieses Problem gestoßen und habe den ruhigen, unschuldigen Smartparens- Modus beschuldigt .
Eine mögliche Lösung, die involviert war function-key-map
und key-translation-map
hier diskutiert wurde, aber leider funktioniert sie entweder nicht mehr oder überhaupt nicht (oder ich mache etwas falsch). Ich denke, es ging in die richtige Richtung.
quelle
C-[
zuESC
“. Die beiden sind dasselbe . EbensoC-i
undTAB
sind unterschiedliche Namen für denselben ASCII-Steuercode.C-[
(drückenCtrl
und Treffer[
) an dieC-[
Steuer Zeichen (auch bekannt als dieESC
Zeichen), aber nein, das ist nicht obligatorisch für jemanden mit einem Editor zu entwerfen. Und ja, Emacs macht das.C-[
undESC
sind das gleiche Zeichen, aber die TastenCtrl
+[
undEsc
müssen keinem bestimmten Zeichen zugeordnet werden.Antworten:
Angepasst von meiner eigenen Konfiguration :
Dies funktioniert natürlich nur in der GUI.
Bearbeiten: Beachten Sie, dass dies
input-decode-map
terminallokal ist. Dies bedeutet, dass das Ändern bei Verwendung nicht funktioniert, bei Verwendungemacsclient
jedoch funktioniertemacs
. Ich habe das Problem in meiner Konfiguration behoben, indem ich es in einen Befehl eingeschlossen habe, der einen Frame ausführt, und ihn demafter-make-frame-functions
Hook hinzugefügt habe .quelle
<C-i>
und<C-[>
gebunden zurück zuTAB
undESC
in der global-Karte , wie Sie in Ihrer Konfigurations flach heraus vorschlagen stürzt meine Emacs jedes Mal , wenn ich em getroffen: