2011-12-22 10 views
22

Ho impostato tmux con $TERM impostato su screen-256color correttamente. Funziona correttamente e i colori sono impostati correttamente, tuttavia non mi consente di inviare le chiavi HOME e END al terminale, che vengono invece stampate come F\n e H\n.

Dovrei aggiungere che casa sembra funzionare in irssi, ma non vim. Home page sembra per inviare (Secondo Ctrl+v <HOME>), ^[OH

Può valere la pena di aggiungere che io sono ben consapevole della possibilità di utilizzare ^ e $ per spostarsi all'inizio e alla fine delle linee, tuttavia $ non va a Alla fine, piuttosto il penultimo carattere, e preferisco usare HOME e END (come posso in altre impostazioni $ TERM).

Qualcuno può spiegare perché questo è e come posso risolvere il problema?

come una correzione parte a senso unico, ho impostato la combinazioni di tasti vim per mappare pressione di un tasto e <Home><End> a <Esc>OH e <Esc>OF. Questo non è l'ideale, ma funziona per il momento! Vedi https://github.com/jvc26/dotfiles/blob/master/.vimrc per i dettagli.

Grazie!

risposta

14

La soluzione di mappatura di cui sopra non influisce sulla modalità comando o sulla modalità visiva. Quello che segue è una soluzione più ideale fino a quando tmux o vim corregge il bug (mettere il Vimrc):

"""""""""""""" 
" tmux fixes " 
"""""""""""""" 
" Handle tmux $TERM quirks in vim 
if $TERM =~ '^screen-256color' 
    map <Esc>OH <Home> 
    map! <Esc>OH <Home> 
    map <Esc>OF <End> 
    map! <Esc>OF <End> 
endif 
+0

non c'è modo di aggiustare "$" fino alla fine? – sheki

+1

C'è un bug archiviato da qualche parte che posso rintracciare? – flickerfly

2

come una correzione, ho impostato la combinazioni di tasti vim per mappare pressione di un tasto e <Home><End> a <Esc>OH e <Esc>OF.

" Handle TERM quirks in vim 
if $TERM =~ '^screen-256color' 
    set t_Co=256 
    nmap <Esc>OH <Home> 
    imap <Esc>OH <Home> 
    nmap <Esc>OF <End> 
    imap <Esc>OF <End> 
endif 
Problemi correlati