Tmux içindeki vim bölmelerini yeniden boyutlandıramıyor


47

Her şey dışında iyi çalışıyor tmux. Ama içinde tmuxfare ile vim bölmelerini yeniden boyutlandıramıyorum. Ben set mouse=abenim .vimrc içinde. Bunun için bir çözüm var mı?

.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

AFAIK bu bilinen / çözülmemiş bir konudur. Tabii ki, farenizi klavyenizin lehine düşürürseniz, bu sorun olmaz.
romainl

11
Ayarını da denediniz ttymouse=xterm2içinde Vim ? Beni etrafında sürüklemek Yani sağlayan Vim'ın böler iç tmux (varsayılan görünüyor xterm2ile çalıştırdığınızda TERM=xtermmuhtemelen vaka dışında olan tmux ).
Chris Johnsen

@ ChrisJohnsen çalışıyor! lütfen bu yorumu bir cevap olarak gönderin ve ben kabul edeceğim :)
13:13

@romainl Merhaba! Varsayılan vim tuşu bağlantıları ile pencereleri yeniden boyutlandırmak IMHO oldukça cumbersone olduğunu. xD
trusktr

Bu bir macun sorunu değil
jasonszhao

Yanıtlar:


69

Zaman bir bölünme yeniden boyutlandırmak için durum çizgiyi sürükleyerek mümkün olmadığını bildirmek isteriz Vim seçenek ttymouseise xterm; değer xterm2olsa da işe yarıyor . İkinci değer, Vim'i (diğer şeylerin yanı sıra) daha iyi sürükleme desteği sağlayan genişletilmiş bir fare raporlama modu isteyecek şekilde yapılandırır. Bu genişletilmiş mod yalnızca daha yeni xterm sürümleriyle çalışır (ve tmux dahil diğer uyumlu terminal emülatörleri ), bu nedenle varsayılan değer değildir.

.vimrcSeçeneği ayarlamak için aşağıdakiler gibi bir şey kullanabilirsiniz :

set mouse+=a
if &term =~ '^screen'
    " tmux knows the extended mouse mode
    set ttymouse=xterm2
endif

(Bununla birlikte, bununla başlayan bir TERM de kullanan gerçek ekran örneklerini nasıl etkileyeceğinden emin değilim screen.)

Eğer dış olduğunda tmux , SÜRE ortam değişkeni muhtemelen olan xterm-ish değer ve Vim için soruşturma olacak xterm kullanarak sürümü t_RVkontrol dizisi.


3
Bunun ekranı nasıl etkileyeceğini bilmediğinizden bahsediyorsunuz ( tmux’un aksine ). Cevap: ekran aynı sorunu var ve bu tam düzeltme orada da çalışıyor.
Moss Collum,

1
Bu durum Tmux'umda gerçek değil, sadece setdeğişkenlerin işleyişini düzeltiyor .
jasonszhao

1
Eğer 223 üzerinde sütunları olan bir terminalde çalışıyorsanız, sette gerekecek ttymouseiçin sgrolduğu gibi xterm2bunun ötesinde gitmez. Senin vim destekler olmadığını kontrol edebilirsiniz sgrile has("mouse_sgr"). Her zaman ayarlamak için güvenli olmalıdır sgryerine xterm2geriye doğru uyumlu olduğu için. Bkz.:help ttymouse
Sudo Bash,

14

Benim durumumda her iki durumda da çözüldü: fare bölünmüş yeniden boyutlandırma ve geniş ekran için fare konumu sorunu.

Düzeltme:

if has("mouse_sgr")
    set ttymouse=sgr
else
    set ttymouse=xterm2
end

Bu benim için çalıştı.
Paul Brannan
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.