
Ich verwende KDE und für vim
die Konsole habe ich folgende Befehle in meiner .vimrc
:
" Konsole
" solid underscore
let &t_SI = "\033]50;CursorShape=2\007"
" solid block
let &t_EI = "\033]50;CursorShape=0\007"
Aber es funktioniert nicht, wenn ich verwende tmux
. Warum ist das so und was kann ich tun, damit es funktioniert?
Antwort1
Entsprechendmeine Vim-Konfiguration:
tmux leitet Escape-Sequenzen nur dann an das Terminal weiter, wenn sie von einer DCS-Sequenz umgeben sind (sehen)
Wenn meine Konfiguration also erkennt, dass vim in tmux ( ) läuft, if exists('$TMUX')
umgibt sie jede Escape-Sequenz mit "\ePtmux;\e"
und"\e\\"
Meine Escape-Sequenzen sind xterm-spezifisch, aber ich schätze, Sie müssen für die Konsole einen ähnlichen Trick anwenden.
Hinweis: "\e"
ist das gleiche wie"\033"
Ihr Fall würde so aussehen (leider ungetestet):
" 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