在某些情况下,我无法在 vim 中使用箭头键。我刚刚安装了 16.04 LTS,使用早期版本的 Ubuntu 时没有遇到此问题。
使用PAC 经理选项卡式 SSH 客户端连接到远程服务器,然后我开始一个会话。PAC 管理器似乎有问题,除非我“重置”终端,否则screen
在新会话中无法回滚。(按键++ )所以我进行了重置。screen
CtrlShiftX
终端重置后,现在我可以回滚,但在 vim 中,箭头键不再起作用(屏幕“闪烁”,就像screen
它想要发出铃声时一样)。恢复箭头的唯一方法是退出screen
会话。
最好的解决方案是修复为什么我需要重置终端才能使回滚工作。但我认为更容易期待更多帮助来恢复丢失的箭头键。
PS:终端类型不是解决方案,因为我尝试更改 $TERM 但没有成功,而且无论如何箭头键都可以正常工作,screen
直到我执行“终端重置”
答案1
screen
将终端仿真器切换到所谓的“备用屏幕”模式,在该模式下,终端仿真器不提供回滚功能。相反,它screen
提供自己的方法(通过键盘)来回滚。
screen
假设您能够同时运行和使用常规滚动条,这是错误的,即使您通过 hack 实现这一点(例如重置终端仿真器,从而离开备用屏幕),回滚内容肯定不是您所期望的。您应该避免使用screen
,或者熟悉它提供的基于键盘的滚动机制。
screen
和/或vim
要求终端仿真器发出与默认值不同的按键序列,并且 Reset 甚至会恢复这一点,因此生成的序列不再符合预期。
答案2
答案是防止屏幕处理回滚。添加到.screenrc
termcapinfo xterm ti@:te@
现在本地终端可以处理回滚