因此,ctrl 向上和向下翻页现在非常流行,我希望当我按下 ctrl-pgup 和 down 时能够在 gnu screen 中进行 Cp 和 Cn。我试了又试,但文档有点少。有什么想法吗?
答案1
事实证明你可以做到。我终于明白了。
有了这个帮助...
我将其添加到~/.screenrc
:
bindkey -t ^[[5;7~ prev
bindkey -t ^[[6;7~ next
这让我可以在屏幕标签之间移动++ Ctrl。AltPageUp/Down
答案2
这controlpageup取决于特定的终端,但你感兴趣的大多数终端都复制了 xterm 的其中一种风格。它们看起来像
^[[5;5~
或者 terminfo 格式
\E[5;5~
也就是 6 个字符。
然而,屏幕(见14.1 bind 命令来自屏幕手册)说它只知道如何绑定单个字符。
所以答案是:你不能用屏幕来做到这一点。
答案3
您可以使用以下方式轻松定义它bindkey
命令:
bindkey -t <key-code> <command>
它允许您将任意键映射到任意命令。要切换到上一个和下一个窗口,请使用命令prev
和next
。
的键代码PageDown是^[[5~
和PageUp ^[[6~
,因此要使用这两个键切换窗口,请将以下内容添加到您的~/.screenrc
配置中:
bindkey -t ^[[5~ prev
bindkey -t ^[[6~ next
要添加Ctrl修饰符,请添加;5
到密钥代码中:
bindkey -t ^[[5;5~ prev
bindkey -t ^[[6;5~ next
对于Alt修饰符,添加;3
,对于Ctrl+ Alt,添加;7
。
该-t
参数禁用计时器,因此按下各个键之间可能会有时间差距。
找出关键代码
在不同的系统或终端上,按键代码可能有所不同。要查找确切的代码,请执行showkey -a
并按下您感兴趣的键或组合键,程序将在第一列打印它们的代码。
答案4
问题中的标题文本询问 ctrl+pageup 和 ctrl+pagedown,但所选答案提到 alt+ctrl。以下是 xterm 如何读取 ctrl+pageup 和 ctrl+pagedown。
在~/.screenrc
:
# ctrl+pgup = prev
bindkey -t ^[[5;5~ prev
# ctrl+pgdn = next
bindkey -t ^[[6;5~ next