Diferente dos aplicativos baseados em GUI, os aplicativos baseados em terminal (como quase todos aqueles que você executa dentro das janelas Terminal ) são limitados em quais combinações de teclas podem ser percebidas. Quando os terminais eram hardware real (não apenas emulado por programas como Terminal e xterm ), terminais como o DEC's VT-100 tinham uma tecla Control , mas só funcionou em conjunto com outras teclas . Como a maioria dos programas de emulação de terminal emulam um VT-100 (e seus sucessores, incluindo o VT-102 e o VT-220), não há como realmente enviar um Controle - Shift - 5 (ou qualquer C-% no seu teclado) para um programa baseado em terminal.
Você provavelmente terá mais sorte mapeando query-replace-regexp
para uma chave (combinação) que realmente transmite algo. As "teclas F" são (geralmente) mapeadas em um estilo VT-220 que as entradas xterm-color
termcap / terminfo sabem como analisar (F1-F4 / F5 podem estar no estilo VT-100!). Se necessário, você pode configurar o Terminal para enviar quaisquer códigos que seu termcap / terminfo esteja esperando (pelo menos eu posso no Terminal 10.4 ). Você pode atribuir códigos a uma tecla F simples ou a uma tecla F com um único modificador (Shift, Control ou Option). Quaisquer modificadores não seriam passados (através do terminal) para o Emacs como tal, mas você poderia mapear algumas dessas combinações para os códigos de tecla do terminal para teclas de função superiores (F14-F20) (a menos que a combinação seja feita por um atalho do sistema— “ Acesso total ao teclado ”, Expose e Spaces (?)).
(global-set-key (kbd "<f13>") 'query-replace-regexp) ; I have a full-sized keyboard with an F13 on it.
Note que o F1-F4 pode não funcionar corretamente, dependendo da configuração do Terminal e do emacs . Por exemplo, no meu sistema (10.4), o Terminal é configurado com “ ESC OP” (o código da chave VT-100) para F1, mas emacs espera “ ESC [11 ~” (uma sequência xterm 'antiga'). As chaves funcionam bem em emacs se eu reconfigurar Terminal (;I; Keyboard) ou emacs (veja abaixo).
; Expect VT-100 key codes for F1-F4
(define-key function-key-map "\eOP" [f1])
(define-key function-key-map "\eOQ" [f2])
(define-key function-key-map "\eOR" [f3])
(define-key function-key-map "\eOS" [f4])