我在使用 Vim、screen 和 putty 时遇到了一个奇怪的问题。
我通过 Putty 连接到 Screen,总体来说,运行良好。不过,我在 Vim 中滚动时遇到了一些问题。
一些细节:
- 我
termcapinfo xterm* ti@:te@
在 screenrc 中设置了鼠标滚轮来滚动。效果不是很好(回滚在屏幕窗口之间变得混乱),但我更喜欢它而不是使用键盘 set term=xterm
我的 vimrc 中有。- 另外,在我的 vimrc 中,我设置了
mouse=a
和ttymouse=xterm2
,这样我就可以使用鼠标滚轮了。这就是问题出现的地方。- 当我用鼠标在 PuTTY 窗口左侧滚动时,它工作正常
- 当我使用鼠标滚动 PuTTY 窗口右侧时,随机字符会插入到我正在编辑的文件中,或者插入到 Vim 命令行中。
我搜索后发现没有其他人遇到这个问题,我不知道该尝试什么。任何关于我可以尝试的建议都非常有用。
如果我可以提供更多信息,请告诉我。
答案1
在你的 vimrc 中放入“ set term=xterm
”是一个坏主意,并且可能是导致问题的原因;在 screen 下运行时,你的 TERM(在 shell 上)和'term'
Vim 中的选项应该是“screen”,而不是其他的。
如果您尝试通过'term'
在 Vim 中设置选项来解决 TERM 问题,则需要找到问题的真正根源并在那里修复它。PuTTY 是否模拟了正确的终端类型?您的 shell 是否前启动屏幕是否反映了正确的 TERM?(echo $TERM
在 shell 命令行上)。最后,你的 shell后 您将启动屏幕设置为“屏幕”(它应该始终如此)?
如果在解决 TERM 问题后仍然遇到此问题,请检查输出:
:verbose set ttimeout? ttimeoutlen?
(请注意双 t 和问号是命令的一部分。)
正常情况下,输出将是两行“nottimeout ttimeoutlen=-1”,如果是其他内容,请尝试重置它们:
:set ttimeout& ttimeoutlen&