我在 Linux 上使用 Vim 编辑文本文件。我通常使用 Windows 中的 PuTTY 连接到远程 Linux 计算机。我也经常使用 GNU Screen。当在 Screen 内使用 Vim 时,我无法使用该Page Up键,因为 Screen 将其解释为启动复制模式的命令。
我想使用Page Up它的常规向上寻呼功能。我如何配置屏幕来执行此操作?
答案1
将其放入您的 .screenrc 中:
bindkey "^[[5~" eval "copy" "stuff ^b"
bindkey "^[[6~" eval "copy" "stuff ^f"
这将使 PgUp 和 PgDn 进入复制模式并在屏幕回滚缓冲区内逐页移动。
警告:您仍然需要按 Esc 退出屏幕的复制模式。
答案2
检查您的个人或系统范围screenrc
文件,搜索诸如评估“复制”。如果存在,请尝试将其注释掉,看看是否有帮助。
据我所知,Page Up默认情况下不绑定启动复制模式screen
。我怀疑此行为是由于远程系统中特定的某些设置造成的。我个人绑定F9和F10在复制模式下上下滚动,并将其他键留给运行在以下位置的程序screen
:
bindkey -k k9 eval "copy" "stuff ^u"
bindkey -k k; eval "copy" "stuff ^d"
bindkey -m -k k9 stuff ^u
bindkey -m -k k; stuff ^d
答案3
我更喜欢来自的答案超级用户:
将以下内容添加到您的 ~/.screenrc 中:
termcapinfo xterm ti@:te@ termcapinfo xterm-color ti@:te@
或者
termcapinfo xterm* ti@:te@
向后滚动感觉有点奇怪,因为它似乎会同时滚动所有窗口,如果您向后滚动太远,屏幕就会完全消失,但对我来说,这是最好的解决方案,因为我不需要指示用户使用除众所周知Shift+ PgUp/ Shift+ PgDown。
更新:看起来这个解决方案在滚动时跳过了输出的某些部分。所以我不能再推荐它了。但为了完整起见,我将答案留在这里。