tmux内のvim分割のサイズを変更できません


47

以外はすべて正常に動作しています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

知る限り、これは既知/未解決の問題です。もちろん、キーボードを選択してマウスをドロップした場合、これはほとんど問題になりません。
ロメイン

11
あなたは、設定も試してみましたttymouse=xterm2Vimの?これにより、tmux内でVimの分割をドラッグできます(おそらくtmuxの外部で実行される場合にデフォルトで実行されるようです)。xterm2TERM=xterm
クリスジョンセン

Replying to @yokohama このコメントを回答として投稿してください。私はそれを受け入れます:)
holms

@romainlこんにちは!デフォルトのvimキーバインディングでウィンドウのサイズを変更するのは、かなり面倒です。xD
trusktr 14

これは、パテの問題ではありません
jasonszhao

回答:


69

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

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

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

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

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


3
これが画面にどのように影響するのかわからないということです(tmuxではありません)。答えは次のとおりです。画面には同じ問題があり、この正確な修正もそこで機能します。
モスコラム

1
私のTmuxでは条件は真になりませんが、単にset変数を調整するだけで機能します。
jasonszhao

1
あなたは223以上の列を有する端末で作業する場合は、設定する必要がありますttymousesgrxterm2それを超えて行きません。vimがをサポートsgrしてhas("mouse_sgr")いるかどうかを確認できます。下位互換性がsgrあるxterm2ため、設定するのではなく、常に安全である必要があります。参照:help ttymouse
Sudo Bash

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.