如何在 GNU Screen 中允许 Page Up?

如何在 GNU Screen 中允许 Page Up?

我在 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。我怀疑此行为是由于远程系统中特定的某些设置造成的。我个人绑定F9F10在复制模式下上下滚动,并将其他键留给运行在以下位置的程序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

更新:看起来这个解决方案在滚动时跳过了输出的某些部分。所以我不能再推荐它了。但为了完整起见,我将答案留在这里。

相关内容