Poza tym wszystko działa dobrze tmux
. Ale tmux
nie mogę zmienić rozmiaru podziałów vima za pomocą myszy. Mam set mouse=a
w moim .vimrc. Czy jest na to rozwiązanie?
.tmux.conf:
$ cat ~/.tmux.conf
set-option -g mode-mouse on
set-option -g mouse-resize-pane on
set-option -g mouse-select-pane on
set-option -g mouse-select-window on
ttymouse=xterm2
w vim ? To pozwala mi przeciągać wokół podziałów Vima wewnątrz tmux (wydaje się, że domyślnie jestxterm2
to uruchamiane przy użyciuTERM=xterm
, co prawdopodobnie ma miejsce poza tmux ).Odpowiedzi:
Wygląda na to, że przeciągnięcie linii statusu w celu zmiany rozmiaru podziału nie jest możliwe, gdy opcja Vim
ttymouse
jestxterm
; to działa, gdy wartość jestxterm2
jednak. Ta ostatnia wartość konfiguruje Vima, aby poprosił o tryb raportowania myszy rozszerzonej, który (między innymi) zapewnia lepszą obsługę przeciągania. Ten tryb rozszerzony działa tylko z nowszymi wersjami xterm (i innymi kompatybilnymi emulatorami terminali, w tym tmux ), więc nie jest to wartość domyślna.Możesz użyć czegoś takiego jak poniżej,
.vimrc
aby ustawić opcję:(Nie jestem jednak pewien, jak wpłynie to na rzeczywiste wystąpienia ekranu , które również używają TERM rozpoczynającego się od
screen
.)Kiedy jesteś poza tmux , zmienna środowiskowa TERM jest prawdopodobnie
xterm
wartością -ish, a Vim będzie sprawdzał wersję xterm przy użyciut_RV
sekwencji kontrolnej.źródło
set
zmienna działa.ttymouse
sięsgr
jakoxterm2
nie wykracza poza to. Można sprawdzić, czy vim podporysgr
zhas("mouse_sgr")
. Powinna ona być zawsze ustawiony bezpiecznysgr
zamiastxterm2
ponieważ jest wstecznie kompatybilne. Zobacz:help ttymouse
W moim przypadku rozwiązano oba przypadki: zmiana rozmiaru podziału myszy i problem z pozycją myszy dla ekranu szerokiego.
Poprawka polega na:
źródło