Estoy tratando de usar la tecla "shift-tab" en emacs ejecución puramente en Terminal.app, pero tengo un error que dice que no hay keybinding para "M-[ z" (donde M es la clave meta, con la tecla opción en virtud de la Terminal.aplicación de preferencias). En otras palabras, emacs piensa que estoy pulsando la tecla "opción[ z" cuando he pulsado "shift-tab" en el teclado de mi MacBook Pro con Mac OS X 10.6.6, ¿cuál es el problema y cómo puedo corregirlo? Gracias.
Respuestas
¿Demasiados anuncios?La Terminal.aplicación realmente está haciendo lo que se supone que: shift-TAB
envía ESC [ z
que Emacs lee como M-[ z
. El problema es que el terminal descripción para xterm-color
(la que se suele utilizar con la Terminal.aplicación y otros emuladores de terminal) falta el kcbt
declaración, por lo que Emacs no sabe que eso es lo que la clave envía.
Hay dos formas de solucionarlo:
-
Editar la descripción del terminal:
$ infocmp >xterm-color.ti $ printf '\tkcbt=\E[Z,\n' >>xterm-color.ti $ sudo tic xterm-color.ti
-
Dígale a Emacs sobre ella directamente:
$ echo "(global-set-key "\M-[Z" 'something)" >>~/.emacs
En ambos casos el problema es que no parece ser un backwards-tab
comando para sustituir something
. Emacs.la aplicación se une backtab a yank
; ¿qué quieres que haga?
Como de Mac OS X Lion 10.7, Terminal es más compatible con los modernos xterm† y por lo tanto el valor predeterminado $valor a largo PLAZO es ahora xterm-256color, que contiene la kcbt de entrada, eliminando cualquier necesidad de editar la entrada de terminfo. xterm-color describe una antigua rama de xterm y falta una serie de cosas apoyados por modernos xterm.
† Destacan: Terminal utiliza ahora la AEC (Color de Fondo Borrar) modelo de color, soporta 256 colores, y la última xterm-compatible con secuencias de escape para la conmutación a/desde el suplente del búfer de pantalla.