저는 KDE를 사용하고 있으며 Konsole의 vim
디렉토리에 다음 명령이 있습니다 .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 시퀀스로 둘러싸인 경우에만 이스케이프 시퀀스를 터미널로 전달합니다(바라보다)
if exists('$TMUX')
따라서 내 구성에서 vim이 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