¿Por qué Ctrl +? no funciona cuando lo enlace a un comando en Emacs?

DO-. no funciona en el terminal cuando lo enlace a un comando en Emacs. Intenté este procedimiento en gnome-terminal y terminal real tty1. Comienzo Emacs con el indicador -nw , luego -nw Ch k (el comando para describe-key ), luego presiono C-. . Emacs solo recibe el . sin Ctrl ¿Cómo hago que esto funcione en Emacs?

Estoy vinculando claves con este proceso:

 (define-key c-mode-base-map (kbd "C-.") 'semantic-ia-fast-jump) 

o

 (define-key c-mode-base-map [(control .)] 'semantic-ia-fast-jump) 

En resumen, la mayoría de los emuladores de terminal están limitados en los caracteres de control que pueden producir (por la simple razón de que los terminales originales que están emulando también fueron limitados).

Por lo tanto, es muy probable que su terminal no produzca nada más que . cuando presionas C-. (y si ese es el caso, esa es básicamente su respuesta, a menos que haya alguna manera de configurar el terminal para que haga lo contrario).

(Cada vez que piense que Emacs no está actuando sobre una entrada cuando se ejecuta en una terminal, debe intentar verificar que Emacs recibe realmente la entrada que cree que es).

Si su terminal está produciendo algo más que . , luego consulte las siguientes preguntas y respuestas para obtener detalles sobre cómo lograr que Emacs reconozca la secuencia:

Si puede ejecutar un xterm en su lugar, probablemente tenga suerte, debido a algunas mejoras específicas de xterm. Eche un vistazo a lo siguiente:

Algunas otras preguntas y respuestas relacionadas:

  • ¿Cómo se puede enviar S-RET a Emacs en una terminal?
  • ¿Por qué emacs confunde la tecla PageDown () con M- [?