2011-12-22 4 views
22

Tengo tmux configurado con $TERM ajustado a screen-256color correctamente. Esto funciona bien, y los colores están configurados correctamente, sin embargo, me impide enviar las claves HOME y END al terminal, que en su lugar se imprimen como F\n y H\n.

Debo añadir que el inicio parece funcionar en irssi, pero no en vim. Inicio parece enviar (Según Ctrl+v <HOME>), ^[OH

Puede valer la pena añadir que soy muy consciente de la posibilidad de utilizar ^ y $ para pasar al inicio y al final de las líneas, sin embargo $ no se va a al final, más bien el penúltimo personaje, y prefiero usar HOME y END (como puedo en otras configuraciones de $ TERM).

¿Alguien puede explicar por qué esto es así, y cómo puedo solucionarlo?

como una solución de ida parte, que establezca las combinaciones de teclas vim para asignar una pulsación de tecla <Home> y <End> a <Esc>OH y <Esc>OF. Esto no es ideal, ¡pero funciona por el momento! Vea https://github.com/jvc26/dotfiles/blob/master/.vimrc para más detalles.

Gracias!

Respuesta

14

La solución de mapeo anterior no afecta el modo de comando ni el modo visual. La siguiente es una solución más ideal hasta que tmux o vim corrige el error (poner en su .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

¿No hay forma de arreglar "$" hasta el final? – sheki

+1

¿Hay algún error en algún lugar que pueda rastrear? – flickerfly

2

Como una solución, que establezca las combinaciones de teclas vim para asignar una pulsación de tecla <Home> y <End> a <Esc>OH y <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 
Cuestiones relacionadas