tmux가 있는 kde의 konsole에 있는 vim의 커서 형식

tmux가 있는 kde의 konsole에 있는 vim의 커서 형식

저는 KDE를 사용하고 있으며 vimKonsole에서는 다음과 같은 명령이 있습니다 .vimrc.

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

하지만 사용하면 작동하지 않습니다 tmux. 그 이유는 무엇이며 이것이 작동하도록 하려면 어떻게 해야 합니까?

답변1

에 따르면내 vim 구성:

tmux는 DCS 시퀀스로 둘러싸인 경우에만 이스케이프 시퀀스를 터미널로 전달합니다(보다)

따라서 내 구성이 vim이 tmux()에서 실행 중임을 감지하면 모든 이스케이프 시퀀스를 및 if exists('$TMUX')로 둘러쌉니다."\ePtmux;\e""\e\\"

내 이스케이프 시퀀스는 xterm에 따라 다르지만 Konsole에 대해서도 비슷한 트릭을 수행해야 할 것 같습니다.

참고: "\e"와 같다"\033"

귀하의 사례는 다음과 같습니다(죄송합니다, 테스트되지 않음).

" 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

관련 정보