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

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

Eu uso o KDE e vimno Konsole, tenho esses comandos no meu .vimrc:

" Konsole
" solid underscore
let &t_SI = "\033]50;CursorShape=2\007"
" solid block
let &t_EI = "\033]50;CursorShape=0\007"

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

Responder1

De acordo comminha configuração do vim:

O tmux só encaminhará sequências de escape para o terminal se estiver cercado por uma sequência DCS (ver)

Então, quando minha configuração detectar que o vim está rodando em tmux( if exists('$TMUX')) ele irá cercar cada sequência de escape com "\ePtmux;\e"e"\e\\"

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

N.º: "\e"é o mesmo que"\033"

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

" Konsole
" solid underscore
let &t_SI = "\033]50;CursorShape=2\007"
" solid block
let &t_EI = "\033]50;CursorShape=0\007"

if exists('$TMUX')
  let &t_SI = "\ePtmux;\e" . &t_SI . "\e\\"
  let &t_EI = "\ePtmux;\e" . &t_EI . "\e\\"
endif

informação relacionada