Como faço para emitir MS-para o Emacs rodando no iTerm no Mac OS Mavericks?

Como faço para emitir MS-para o Emacs rodando no iTerm no Mac OS Mavericks?

Quando pressiono essa combinação de teclas, ouço um sino e vejo 0Dcaracteres impressos no buffer em vez do comando vinculado a esse acorde de tecla sendo executado (org-table-delete-column neste caso). M-<left-arrow>funciona bem no entanto.

Depois de fazer algumas pesquisas, acho que M-<any-arrow>só funciona porque o iTerm está configurado para enviar certas sequências hexadecimais ao terminal para essas chaves. Quando criei um novo perfil sem essas ligações, todas as M-<arrow>teclas fizeram com que sinos e caracteres fossem impressos.

Então eu tenho algumas perguntas. Em primeiro lugar, o que são essas sequências hexadecimais? Quais sequências eu precisaria obter para M-S-<left-arrow>ser emitida corretamente? Por que o iTerm não tem tudo isso já definido? E, por último, por que os temos? Por que o iTerm não pode simplesmente enviar as teclas conforme elas são pressionadas para o terminal e fazê-las funcionar como deveriam, com exceção dos acordes necessários ao iTerm e ao Mac OS X.

Responder1

Tente adicionar estas linhas a ~/.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])

Use cat -vou C-vem um shell para ver as sequências de escape.

informação relacionada