潜在解决方案——PuTTY

潜在解决方案——PuTTY

有什么方法可以让它工作吗?

我喜欢使用鼠标滚轮在 vim 中滚动文件。

另外,我也不介意用鼠标滚轮滚动 gnu 屏幕缓冲区,而不必输入 ctrl+a、ESC

编辑:

正如 Isaac Rabinovitch 的回答中提到的,屏幕和 vim 设置已经很好了。我认为整个问题都出在 PuTTY 上。

答案1

如果我执行了以下命令,则通过 ssh 连接在 PuTTY 下的 Vim 中使用鼠标滚轮滚动对我来说是可行的:

:set mouse=a

使用 tmux、屏幕和无屏幕多路复用器进行了测试。

编辑

根据要求,这是我用于测试的机器的 ~/.screenrc。

startup_message off
vbell off
bell_msg 'Bell in window %n^G'
defscrollback 500
hardstatus off
altscreen on

答案2

这似乎是使用 PuTTY 访问时影响屏幕和 tmux 的常见问题。请参阅我对与 tmux 相关的类似问题的回答,以深入了解问题本身。其中提供了一个潜在的解决方案以及一些分析。

通过 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 线程以获取更多信息。

答案3

为什么不使用 gvim 而使用 vim?这样,所有 GUI 内容(如滚轮事件)都会变得简单明了。

什么,你说你不能从 Windows 远程运行 X 软件?但你可以。只需在 Windows 上运行 X 服务器即可。我使用西明,但也有Cygwin/X. 然后你只需告诉 Putty前向X数据您的 Windows 桌面将成为远程机器的扩展。

相关内容