web-dev-qa-db-ja.com

tmux内のvimスプリットのサイズを変更できません

tmuxの外ではすべて正常に動作しています。しかし、tmuxでは、vim分割をマウスでサイズ変更できません。私が持っています set mouse=a .vimrc。これに対する解決策はありますか?

.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
47
holms

Vimオプションttymousextermの場合、ステータスラインをドラッグして分割のサ​​イズを変更できないようです。ただし、値がxterm2の場合は機能します。後者の値は、Vimが(特に)より優れたドラッグサポートを提供する拡張マウスレポートモードを要求するように構成します。この拡張モードは、xterm(およびtmuxを含む他の互換性のあるターミナルエミュレータ)の新しいバージョンでのみ機能するため、デフォルト値。

.vimrcで次のようなものを使用してオプションを設定できます。

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

(ただし、これが実際のscreenインスタンスにどのように影響するかはわかりません。これもscreenで始まるTERMを使用します。)

tmux外の場合、TERM環境変数はおそらくxterm- ish値であり、Vimt_RV制御シーケンスを使用して、xtermバージョンをプローブします。

69
Chris Johnsen

私の場合、それは両方のケースを解決しました:ワイド画面でのマウスの分割サイズ変更とマウスの位置の問題。

修正は:

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