
저는 KDE를 사용하고 있으며 vim
Konsole에서는 다음과 같은 명령이 있습니다 .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