
私は 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