Weird keybindings in Mac OS X Terminal.app

1

Sto provando ad usare il tasto "shift-tab" in emacs che funziona esclusivamente sotto Terminal.app, ma ho un errore nel dire che non c'è keybinding per "M- [z" (dove M è la meta chiave, impostata su essere la chiave di opzione sotto le preferenze di Terminal.app). In altre parole, emacs pensa che sto premendo "option- [z" quando ho premuto "shift-tab" sulla tastiera del mio MacBook Pro con Mac OS X 10.6.6, qual è il problema e come lo correggo? Grazie.

    
posta hpy 11.03.2011 - 18:52
fonte

2 risposte

4

Terminal.app sta effettivamente facendo ciò che dovrebbe: shift-TAB invia ESC [ z che Emacs legge come M-[ z . Il problema è che la descrizione del terminale per xterm-color (quella solitamente usata con Terminal.app e altri emulatori di terminale) manca della dichiarazione kcbt , quindi Emacs non sa che è ciò che invia la chiave.

Ci sono due modi per risolvere questo problema:

  1. Modifica la descrizione del terminale:

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

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

Il problema in entrambi i casi è che sembra non esserci un comando backwards-tab per sostituire something . Emacs.app lega il backtab a yank ; cosa vuoi che faccia?

    
risposta data 11.03.2011 - 19:15
fonte
3

A partire da Mac OS X Lion 10.7, Terminal è più compatibile con il moderno xterm † e quindi il valore $ TERM predefinito è ora xterm-256color, che contiene la voce kcbt, eliminando qualsiasi necessità di modificare la voce terminfo. xterm-color descrive un ramo più vecchio di xterm e manca un numero di cose supportate dal moderno xterm.

† I punti salienti includono: Terminale ora usa il modello di colore BCE (Colore di sfondo), supporta 256 colori e le ultime sequenze di escape compatibili con xterm per passare a / dal buffer dello schermo alternativo.

    
risposta data 07.08.2011 - 15:11
fonte

Leggi altre domande sui tag