潜在解决方案——PuTTY

潜在解决方案——PuTTY

我在多个平台上都遇到了一个问题,在 PuTTY 中的 tmux 会话中使用 vim 时,使用鼠标滚轮向下滚动可以正常工作,但向上滚动却不行。有什么想法吗?也许需要解决 Putty 中的问题(具体来说,我使用的是 PuTTYTray,但这似乎也发生在 vanilla putty 中)

我的 ~/.vimrc 鼠标设置:

set mouse=a

还有我的 ~/.tmux.conf

set -g default-terminal "screen-256color"
set -g history-limit 300000
set -g prefix C-a
bind-key C-a last-window
bind-key C-a last-window
bind -n M-Left select-pane -L
bind -n M-Right select-pane -R
bind -n M-Up select-pane -U
bind -n M-Down select-pane -D
bind D source-file ~/.tmux/logs
set -g base-index 1
set -s escape-time 0
setw -g aggressive-resize on
#set -g terminal-overrides "xterm*:XT:smcup@:rmcup@:kUP5=\eOA:kDN5=\eOB:kLFT5=\eOD:kRIT5=\eOC"
setw -g mode-mouse on

答案1

对于任何到达这里的人来说:这个问题已经在 0.64 预发布版中得到修复,您可以从官方 PuTTY 网站下载。

答案2

关于这个话题似乎有几个不同的问题。请参阅我对类似问题的回答,以深入了解问题本身。其中提供了一个潜在的解决方案以及一些分析。

通过 tmux 在 vi​​m 中实现鼠标滚动,如何配置?


一个摘抄上面的链接描述了潜在的解决方案:

潜在解决方案——PuTTY

似乎存在一个问题,即 PuTTY 在每个 ScrollDown/ScrollUp 事件中都发送一个多余的 ScrollDown 事件。这意味着每次向上滚动的尝试都会被取消,什么也不会发生。相反,向下滚动时,每个滚动事件都会加倍。通过查看vim滚动行为,可以轻松验证此行为第一外tmux滚动正常工作),以及第二个里面tmux向上滚动不起作用,并且一次向下滚动的尝试会滚动两倍)。

根据以下 gmane 线程,上述问题已通过 Putty-X 补丁得到解决(https://github.com/atsepkov/putty-X/commit/bbcedf5a85ca1ccaa27005e7f7ebeb4c8a783b88):

链接至 gmane 主题http://comments.gmane.org/gmane.comp.terminal-emulators.tmux.user/5498

笔记:我自己还没有验证上述解决方案,因此请查看 gmane 线程以获取更多信息。

相关内容