A forma do cursor no vim no konsole no kde com o tmux

1

Eu uso o KDE e, para vim no Konsole, tenho esses comandos em .vimrc :

" Konsole
" solid underscore
let &t_SI = "3]50;CursorShape=2
" Konsole
" solid underscore
let &t_SI = "3]50;CursorShape=2%pre%7"
" solid block
let &t_EI = "3]50;CursorShape=0%pre%7"
7" " solid block let &t_EI = "3]50;CursorShape=0%pre%7"

Mas isso não funciona quando eu uso tmux . Por que isso e o que posso fazer para que isso funcione?

    
por yazu 05.10.2014 / 12:45

1 resposta

2

De acordo com minha configuração do vim :

tmux will only forward escape sequences to the terminal if surrounded by a DCS sequence (see)

Portanto, quando minha configuração detectar que o vim está sendo executado no tmux ( if exists('$TMUX') ), ela cercará todas as seqüências de escape com "\ePtmux;\e" e "\e\"

Minhas sequências de escape são específicas do xterm, mas eu acho que você precisa executar um truque similar para o Konsole.

N.b .: "\e" é o mesmo que "3"

Seu caso seria (desculpe, não testado):

" Konsole
" solid underscore
let &t_SI = "3]50;CursorShape=2" Konsole
" solid underscore
let &t_SI = "3]50;CursorShape=2%pre%7"
" solid block
let &t_EI = "3]50;CursorShape=0%pre%7"

if exists('$TMUX')
  let &t_SI = "\ePtmux;\e" . &t_SI . "\e\"
  let &t_EI = "\ePtmux;\e" . &t_EI . "\e\"
endif
7" " solid block let &t_EI = "3]50;CursorShape=0%pre%7" if exists('$TMUX') let &t_SI = "\ePtmux;\e" . &t_SI . "\e\" let &t_EI = "\ePtmux;\e" . &t_EI . "\e\" endif     
por 13.10.2014 / 15:28