在 之外一切都运行良好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
答案1
似乎无法拖动状态线来调整分割大小,当Vim选项ttymouse
是xterm
;但当值为 时,它确实有效xterm2
。后一个值配置 Vim 以请求扩展鼠标报告模式,该模式(除其他外)提供更好的拖动支持。此扩展模式仅适用于较新版本的终端(以及其他兼容的终端仿真器,包括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将调查终端版本t_RV
。
答案2
就我而言,它解决了两种情况:鼠标分割调整大小和宽屏鼠标位置问题。
if has("mouse_sgr")
set ttymouse=sgr
else
set ttymouse=xterm2
end