让终端使用pageup / pagedown而不是shift-pageup / shift-pagedown?

我已经非常厌倦了shift-pgup在gnome终端,命令行,终结符和guake等中的页面。

是否可以轻松地使这些应​​用程序使用直接向上翻页和向下翻页键进行翻页?

我担心这是不可能的,因为没有PgUp / PgDown将被发送到命令行应用程序,这将使其中一些不可用。 这是很好的日子Unixfunction。

如果你想要更加用户友好的滚动,我建议使用less命令。 它以这种方式使用:

 command-with-lot-of-output | less 

这将使用原始命令的输出启动less命令。 ( 有关管道输出到其他程序的更多信息,请访问: http : //www.dsj.net/compedge/shellbasics1.html

可以使用箭头或PgUp / PgDown导航较少。 为了您的方便,它还提供搜索和更多(更man less )。 只需点击q键即可退出。

使用xterm并调整键绑定(在~/.Xresources ),如下所示:

 xterm*VT100.Translations: #override \n\ Prior:scroll-back(1,page)\n\ Next:scroll-forw(1,page)\n\ 

gnome-terminal表示PageUp / PageDown用于终端内的应用程序并使用它们会让人感到困惑……

Konsole是KDE的终端仿真器,提供相关选项,其中可以配置为使用Page UpPage Down键进行直接分页。 我发现没有其他终端模拟器像Konsole一样容易进行此类定制。

如何直接分页

在Konsole中,执行以下步骤。

  1. 在菜单栏中,转到“设置”,然后单击“配置当前配置文件…”(Kubuntu 12.04)或“编辑当前配置文件…”(Kubuntu 16.04),将出现一个窗口。

  2. 单击“输入”选项卡(Kubuntu 12.04)或“键盘”选项卡(Kubuntu 16.04),其中包含一个名为“键绑定”的部分,其中包含预定义的键绑定列表。

    Konsole中的键绑定

  3. 选择“默认(XFree 4)”并单击“编辑…”按钮,然后会出现另一个窗口。

  4. 向下滚动并查找组合PgDown-Shift-AnyModifier与输出\E[6~ 。 将此输出重命名为ScrollPageDown

  5. 向下滚动并查找组合PgUp-Shift-AnyModifier与输出\E[5~ 。 将此输出重命名为ScrollPageUp

  6. 单击“确定”按钮完成并关闭窗口。

如何测试输出

在步骤3中,存在“测试区域”以确认每次按键的输出。

  • 单击以将焦点置于“输入:”文本字段中,然后按Page UpPage Down键(一次一个)。

  • 确认输出与重命名的输出相同。

    Konsole中的键绑定列表和测试区域

或者,编写一个简单的脚本来循环回显消息。 我已经包含了我自己的脚本如下。

  • 在文本编辑器中复制并粘贴以下代码行。

     #!/bin/bash echo "Started script" echo "If no input, then loop" while true do { echo "Hello, world" echo "Wait 1 second to loop [q to quit]" read -t 1 -n 1 INPUT && echo if [ "$INPUT" == "q" ] then break else echo "UTC now: $(date -u +%H%M%S)" fi continue } done echo "Ended script" 
  • 保存为文件即loop.sh并在终端中运行脚本,即bash loop.sh (不可执行)。

  • 等到回显的消息填满查看区域并开始向下滚动输出。

  • 然后,按Page UpPage Down键向上滚动并向下滚动查看区域。

我在Kubuntu 12.04中使用Konsole 2.8.5,KDE 4.8.5进行了测试。

奖励:关键组合和输出

好的,奖金答案澄清。 有人可能想知道为什么我必须编辑那些关键组合而不是其他组合。 我之前通过测试几种键盘来解决这个问题。

以下是默认组合键及其输出,已使用Konsole中的“测试区域”进行了计算。

对于主页面向上/向下翻页键(包括需要按Fn键的键盘变体,即Fn + PgUp / Fn + PgDn):

  • 组合PgDown-Shift-AnyModifierPgDown-Shift-AnyModifier输出: \E[6~

  • 组合PgUp-Shift-AnyModifierPgUp-Shift-AnyModifier输出: \E[5~

对于辅助Page Up / Page Down键(终端中的默认快捷键,需要Shift键,Shift + PgUp / Shift + PgDn):

  • 组合PgDown+Shift-AppScreenPgDown+Shift-AppScreen输出: ScrollPageDown

  • 组合PgUp+Shift-AppScreenPgUp+Shift-AppScreen输出: ScrollPageUp

请注意,主键和辅助键的每个关键字之间的减号和加号不同。 这些是按键被翻译成等效字符的方式,至少在Konsole中是这样。

但是,我不确定其他终端仿真器是否真正理解了这些等效字符。 根据自己的经验,这是我所知道的。

判决书

对于不喜欢处理各种配置文件和繁琐的解决方案的高级用户,Konsole将轻松赢得您的心。 似乎没有人注意到过去四年来Konsole和KDE提供的这种定制水平。 多么奇怪。

您可以使用more命令,如下所示:

 command-with-lots-of-output | more 

这将启动您的命令原始输出更多。

more可以使用’space’进行导航。 只需按空格键即可将命令输出视为页面。