Pregunta

¿Es posible de alguna manera para enviar la clave "C- (" a Emacs a través de una terminal VT100 / xterm (Mac OS X Terminal)? ¿Hay una secuencia de escape que podría ser enviado a alcanzar el equivalente?

sospecho que el problema fundamental es que no existe el concepto de combinar el control con el carácter "(" (y otros personajes que se producen utilizando turno).

Nota: El uso del cacao Emacs no es una opción. Y la razón por la que necesita "C- (" es que paredit.el lo utiliza, entre otras combinaciones de teclas, y sería preferible no volver a asignar (porque tiene sentido que tiene en "C - (").

¿Fue útil?

Solución

Un terminal de VT100 no podía hacer eso, porque no hay ningún carácter de control correspondiente a ^( (. Sin embargo, xterm tiene el llamado modo "modifyOtherKeys", lo que permite enviar códigos de teclas únicas para ese tipo de combinaciones.

Para activarlo, establecer el recurso modifyOtherKeys, por ejemplo en ~/.Xdefaults:

XTerm*vt100.modifyOtherKeys: 1

Con esto, Ctrl + (enviará el siguiente código clave:

^[[27;6;40~

Eso es bastante largo, aunque, por lo que se introdujo otro formato de códigos de teclas por el estilo, que puede ser activado mediante el ajuste del recurso formatOtherKeys:

XTerm*vt100.formatOtherKeys: 1

Con eso, Ctrl + (envía:

^[[40;6u

En ambos de estos códigos, el 40 es el código decimal ASCII para (, y el 6 representa el Ctrl.

man xterm y href="http://invisible-island.net/xterm/ctlseqs/ctlseqs.html" rel="noreferrer"> http://invisible-island.net/xterm/ctlseqs/ctlseqs .html para más detalles. Ni idea de si es compatible con cualquier Terminal.app de la misma.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top