Wenn ich diese Tastenkombination drücke, höre ich ein Klingeln und sehe, 0D
wie Zeichen in den Puffer gedruckt werden, anstatt dass der an diese Tastenkombination gebundene Befehl ausgeführt wird (in diesem Fall „org-table-delete-column“). M-<left-arrow>
Funktioniert jedoch einwandfrei.
Nach einigem Nachforschen glaube ich, dass M-<any-arrow>
es nur funktioniert, weil iTerm so konfiguriert ist, dass für diese Tasten bestimmte Hex-Sequenzen an das Terminal gesendet werden. Als ich ein neues Profil ohne diese Bindungen erstellte, M-<arrow>
führten alle Tasten dazu, dass Glocken und Zeichen gedruckt wurden.
Ich habe also ein paar Fragen. Zunächst einmal: Was sind diese Hex-Sequenzen? Welche Sequenzen müsste ich erhalten, damit sie M-S-<left-arrow>
korrekt ausgegeben werden? Warum hat iTerm diese nicht alle bereits definiert? Und schließlich: Warum haben wir sie überhaupt? Warum kann iTerm die Tasten nicht einfach so senden, wie sie gedrückt werden, an das Terminal und dafür sorgen, dass sie wie vorgesehen funktionieren, mit Ausnahme der von iTerm und Mac OS X benötigten Tastenkombinationen.
Antwort1
Versuchen Sie, diese Zeilen hinzuzufügen ~/.emacs
:
(define-key input-decode-map "\e[1;10A" [S-M-up])
(define-key input-decode-map "\e[1;10B" [S-M-down])
(define-key input-decode-map "\e[1;10C" [S-M-right])
(define-key input-decode-map "\e[1;10D" [S-M-left])
Verwenden Sie cat -v
oder C-v
in einer Shell, um die Escape-Sequenzen anzuzeigen.