tmux:进入 vim 时禁用鼠标

tmux:进入 vim 时禁用鼠标

无论我在何处说 vim,它都是 tmux 内的 vim。

当前情况: 我有鼠标在 vimrc 中被禁用,在 tmux.conf 中被启用。鼠标在 vim 内部滚动,使用 tmux-mouse 滚动,从而滚动历史记录。

情况1
如果我也在 tmux 中禁用鼠标(vim=off,tmux=off),那么滚动会导致 tmux 中 vim 中的光标移动(光标定位)。

案例2
如果我在 vim 中也启用鼠标(vim=on、tmux=on),那么我在复制时会遇到问题,这是我不想要的。所以我的要求是在 vim 中关闭鼠标。

目标是仅在 tmux 中使用滚动,而在 vim 中滚动应该移动光标(当光标到达页面边缘时会发生滚动,这是默认配置)。

我的问题是,有没有办法设置行为,以便当我在 tmux 中进入 vim 时禁用 vim 中的鼠标滚动(以便默认行为起作用,即滚动移动光标),仅在具有 vim 的窗格中,并在我退出 vim 时重新启用它。

更简单的说,保持 tmux=on,vim=off,关闭vim中tmux=on的效果,从而让滚动变成光标定位。

答案1

我使用了这个插件:tmux-更好的鼠标模式并在中启用了此标志.tmux.conf

set -g @emulate-scroll-for-no-mouse-alternate-buffer "on"

这正是我所要求的那样。

答案2

这个问题表述得非常糟糕。

目前尚不清楚您是否希望鼠标在 vim 中工作。

如果您这样做,您只需要配置 vim 来打开它 - 如果您这样做,那么 tmux 会将运行 vim 的窗格中的鼠标事件发送到 vim,而不是自己处理它们。

如果您不想让鼠标在 vim 中工作,只需在 vim 中将其关闭即可。这意味着 vim 将不会从 tmux 请求鼠标,因此 tmux 不会将鼠标事件发送到窗格。

相关内容