2010-04-26 18 views
10

Vorrei Ctrl-Backspace per eliminare la parola corrente in modalità di inserimento vim. Dall'interno xterm posso staccare questo tramiteCome posso ottenere Ctrl-Backspace per eliminare una parola in vim all'interno di gnome-terminal?

:inoremap <C-H> <C-W> 

ma in gnome-terminal non riesco a trovare un modo per realizzarlo.

Quando in modalità di inserimento vim, se si digita control-v e quindi si preme backspace, ottengo^H in xterm e ^? in gnome-terminal. Purtroppo,

:inoremap <C-?> <C-W> 

non fa il trucco in gnome-terminal; control-backspace cancella semplicemente un singolo carattere, non importa cosa.

Per quanto riguarda i codici ASCII:

Gnome-terminal permette di cambiare il carattere di backspace in Modifica -> Preferenze Profilo -> Compatibilità. Purtroppo, nessuna opzione funziona, per quanto posso dire: qualunque personaggio applico a Backspace tramite le impostazioni, se provo mappatura del carattere stesso, come

:inoremap <C-H> <C-W> 

backspace e quindi regolare il controllo-backspace sia a cancellare un intero parola; e se provo controllo mappatura più quel personaggio, come

:inoremap <C-^H> <C-W> 

quindi backspace regolare e il controllo-backspace solo cancellare un singolo carattere.

risposta

10

La libvte di gnome-terminal dovrebbe essere corretta.

libvte ha già diverse opzioni per mappare il backspace, nessuno dei quali distingue Ctrl-backspace. Ha bisogno di un'opzione, forse una che segue il comportamento della console di linux (^? Per backspace,^H per Ctrl-backspace). Vedi this gnome bug.


Aggiornamento 2015: questo è stato risolto in 23c7cd0f99d504cbab06d4c27254d4f3e2807ba8.

libvte 0.41.90, 0.40.3 e più recente hanno la correzione.

+0

Come possiamo far funzionare questa patch? Quali passi dovrei prendere (per ricompilare libvte e gnome-terminal)? –

+0

@StevenLu Avanti porta la patch, esporre la configurazione a gnome-term (puoi comunque modificare gconf/dconf direttamente da gconf-editor), assicurati che la libvte ricompilata si trovi nel percorso di caricamento. – Tobu

+2

Sembra che questa patch abbia avuto un po 'di attenzione il mese scorso e potrebbe essere rilasciata presto. Non posso aspettare Ho bisogno di ctrl-backspace in console vim per sanità mentale. – trusktr