Wie erteile ich MS-zu Emacs, der in iTerm auf Mac OS Mavericks ausgeführt wird?

Wie erteile ich MS-zu Emacs, der in iTerm auf Mac OS Mavericks ausgeführt wird?

Wenn ich diese Tastenkombination drücke, höre ich ein Klingeln und sehe, 0Dwie 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 -voder C-vin einer Shell, um die Escape-Sequenzen anzuzeigen.

verwandte Informationen