Vim

kde 中 konsole 中 vim 中游標的形式與 tmux

  • October 13, 2014

vim我在 Konsole 中使用 KDE 和 for ,我的.vimrc:

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

但是當我使用它時它不起作用tmux。為什麼會這樣,我該怎麼做才能讓它發揮作用?

根據我的 vim 配置

如果被 DCS 序列包圍,tmux 只會將轉義序列轉發到終端(請參閱

因此,當我的配置檢測到 vim 正在 tmux ( if exists('$TMUX')) 中執行時,它將用"\ePtmux;\e"和包圍每個轉義序列"\e\\"

我的轉義序列是特定於 xterm 的,但我想您需要對 Konsole 執行類似的技巧。

Nb: "\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

引用自:https://unix.stackexchange.com/questions/159402