无法在 tmux 中调整 vim 分割的大小

无法在 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

答案1

似乎无法拖动状态线来调整分割大小,当Vim选项ttymousexterm;但当值为 时,它确实有效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

相关内容