無論我在哪裡提到 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 和re 的窗格中- 當我退出 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 不會將滑鼠事件傳送到窗格。