La forma del cursor en vim en konsole en kde con tmux

La forma del cursor en vim en konsole en kde con tmux

Utilizo KDE y vimen Konsole, tengo estos comandos en mi .vimrc:

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

Pero no funciona cuando lo uso tmux. ¿A qué se debe esto y qué puedo hacer para que funcione?

Respuesta1

De acuerdo ami configuración vim:

tmux solo reenviará secuencias de escape al terminal si está rodeada por una secuencia DCS (ver)

Entonces, cuando mi configuración detecte que vim se está ejecutando en tmux ( if exists('$TMUX')), rodeará cada secuencia de escape con "\ePtmux;\e"y"\e\\"

Mis secuencias de escape son específicas de xterm, pero supongo que debes realizar un truco similar para Konsole.

Nótese bien: "\e"es lo mismo que"\033"

Su caso se vería así (lo siento, no probado):

" 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

información relacionada