Estoy tratando de ejecutar Emacs en una terminal. He activado la "opción de uso como meta" en las preferencias del terminal, por lo que funciona alrededor del 95%.
La secuencia de teclas ctrl- / (o en la notación de Emacs C- /) es "deshacer". Esta secuencia de teclas solo hace que el terminal haga sonar una campana. ¿Cómo puedo solucionar esto?
Respuestas:
El control
/
no forma parte del conjunto de códigos de control estándar . No es directamente representable como una pulsación de tecla en muchas emulaciones de terminal. Tal pulsación de tecla solo es detectable correctamente en ciertos "modos de código de escaneo" o "modo de GUI" específicos de la plataforma (donde la API le dice exactamente qué teclas y modificadores se están utilizando). Su emulador de terminal está sonando porque es efectivamente una pulsación de tecla inválida.Los códigos de control estándar solo cubren las versiones de "Control" de
@
A
-Z
[\]^_
(ASCII 0 - 31), y?
(ASCII 127)En la mayoría de los programas de emulador de terminal que se ejecutan con la mayoría de los diseños de claves de EE. UU., Es posible que deba presionar Shiftpara generar algunos de los "códigos de control":
@
es Shift2)^
es Shift6)_
es Shift-)?
es Shift/); C-? generalmente se genera por Backspace(en los teclados de Apple, la tecla etiquetada simplemente "eliminar" sin el símbolo adicional ⌦) o Delete(la que tiene ⌦ en los teclados de Apple).En Emacs basado en tty, generalmente puede usar C-_ para en
undo
lugar de C- /.fuente
Ctrl- / envía 0x1f que es equivalente a Ctrl-_ desde los días de VT102. Hay muchos emuladores VT100 pero en realidad son emuladores VT102. iTerm2 funciona porque sigue este comportamiento.
Solo los emuladores que se ajustan estrictamente a la especificación VT100 no pueden enviar Ctrl- /. Creo que la aplicación Terminal es una de ellas.
VT100 enmascara 2 bits más significativos de ASCII de 7 bits cuando se presiona la tecla de control. / es 0x2f, o es 0x6f. Cuando los 2 bits están enmascarados, ambos son 0x0f. VT100 puede enviar Ctrl-o pero no Ctrl- /.
fuente