Raras combinaciones de teclas en Mac OS X Terminal.app

1

Estoy tratando de usar la tecla "shift-tab" en emacs que se ejecuta únicamente en Terminal.app, pero se produjo un error que indica que no hay una combinación de teclas para "M- [z" (donde M es la tecla meta, configurada en Ser la clave de opción en las preferencias de Terminal.app). En otras palabras, emacs piensa que estoy presionando "option- [z" cuando presioné "shift-tab" en el teclado de mi MacBook Pro con Mac OS X 10.6.6, ¿cuál es el problema y cómo lo corrijo? Gracias.

    
pregunta hpy 11.03.2011 - 18:52

2 respuestas

4

Terminal.app está haciendo lo que se supone que debe hacer: shift-TAB envía ESC [ z , que Emacs lee como M-[ z . El problema es que a la descripción del terminal para xterm-color (la que se usa generalmente con Terminal.app y otros emuladores de terminal) le falta la declaración kcbt , por lo que Emacs no sabe que eso es lo que envía la clave.

Hay dos formas de solucionar esto:

  1. Edite la descripción del terminal:

    $ infocmp >xterm-color.ti
    $ printf '\tkcbt=\E[Z,\n' >>xterm-color.ti
    $ sudo tic xterm-color.ti
    
  2. Díselo a Emacs directamente:

    $ echo "(global-set-key "\M-[Z" 'something)" >>~/.emacs
    

El problema en ambos casos es que no parece haber un comando backwards-tab para sustituir a something . Emacs.app enlaza backtab a yank ; ¿Qué quieres que haga?

    
respondido por el geekosaur 11.03.2011 - 19:15
3

A partir de Mac OS X Lion 10.7, Terminal es más compatible con xterm † moderno y, por lo tanto, el valor predeterminado de $ TERM es ahora xterm-256color, que contiene la entrada kcbt, eliminando la necesidad de editar la entrada terminfo. xterm-color describe una rama más antigua de xterm y falta una serie de elementos compatibles con xterm moderno.

† Los aspectos más destacados incluyen: Terminal ahora usa el modelo de color BCE (Borrado de color de fondo), admite 256 colores y las últimas secuencias de escape compatibles con xterm para cambiar a / desde el búfer de pantalla alternativo.

    
respondido por el Chris Page 07.08.2011 - 15:11

Lea otras preguntas en las etiquetas