解决方案

解决方案

我需要向我的 inputrc 添加一些内容。我使用的是 bash 4,操作系统使用的是 debian 和 OSX。我的终端仿真器在 debian 上是 rxvt-unicode-256,在 OSX 上是 Terminal.app。我的新 MacBook 没有 Insert/Delete、Home/End、PgUp/PgDown 键...

您能告诉我“Shift-Space”的按键吗?我正在尝试将其绑定到菜单完成向后。Shift-Tab 执行菜单完成,其按键是“\e[Z”。

"\e[Z": menu-complete
"(Shift-Space)": "\e-1\C-i"

然后我希望能够在我的终端中翻页。我不确定该怎么说。例如,在 irssi 中,我想在我的频道日志中向上/向下滚动。“PgUp”/“PgDn”键可以实现这些功能,但我的 MacBook 上没有这些键。所以我想要一个替代方案,比如“Shift-ArrowKeyUp”和“Shift-ArrowKeyDown”。另外,我不知道 inputrc 的命令,我必须将其绑定到此按键。

同样,“Home”/“End”键也应该位于行首/行末。我想将其绑定到“Shift-ArrowKeyLeft”/“Shift-ArrowKeyRight”。

非常感谢您的帮助!

编辑:这是我的.inputrc...http://paste.debian.net/69454/

答案1

解决方案

在我开始解决方案之前,先简单说一下。上面列出的许多命令(例如 Page Up/Down)都没有变量.inputrc。它们也已经有了相应的快捷键(见下文)。因此,如果您想使用不同的快捷键,则必须将菜单项重新映射到新的快捷键。

对于Mac OS

快捷方式

首先,Mac OS 终端有一个内置的键盘快捷键,用于上下滚动页面:Command+ArrowKeyUpCommand+ ArrowKeyDown。下面是一个快速表格,突出显示了 Mac 终端中的一些菜单命令及其对应的快捷键:

|        Function         |        Shortcut        |
+-------------------------+------------------------+
|         Page Up         |      Command + Up      |
+-------------------------+------------------------+
|        Page Down        |     Command + Down     |
+-------------------------+------------------------+
|         Line Up         |  Shift + Command + Up  |
+-------------------------+------------------------+
|        Line Down        | Shift + Command + Down |
+-------------------------+------------------------+
| Go to beginning of line |      Control + A       |
+-------------------------+------------------------+
|    Go to end of line    |      Control + B       |
+-------------------------+------------------------+

新的快捷方式

如果您不想使用内置快捷方式,则必须创建新的快捷方式。有几种方法可以做到这一点,但我认为在这种情况下使用 GUI(而不是 CLI)更容易。在 Mac OS 上,打开System Preferences,前往该Keyboard部分,最后单击打开Shortcuts选项卡:

键盘快捷键

在侧边栏上,单击App Shortcuts选项卡。下面有一个+按钮。单击该按钮,将弹出以下内容:

添加快捷方式

从下拉菜单中选择终端,然后输入要映射到它的菜单项和键盘快捷键。以下是映射Page UpShift+的示例ArrowKeyUp

新的快捷方式

对于 Debian

快捷方式

与 Mac OS 一样,Debian 已经内置了您想要的所有快捷方式。下面是另一个突出显示这些快捷方式的表格:

|        Function         |        Shortcut        |
+-------------------------+------------------------+
|         Page Up         |       Shift + Up       |
+-------------------------+------------------------+
|        Page Down        |      Shift + Down      |
+-------------------------+------------------------+
|         Line Up         |  Shift + Control + Up  |
+-------------------------+------------------------+
|        Line Down        | Shift + Control + Down |
+-------------------------+------------------------+
| Go to beginning of line |      Control + A       |
+-------------------------+------------------------+
|    Go to end of line    |      Control + B       |
+-------------------------+------------------------+

新的快捷方式

要在 Debian 中创建新的快捷方式,请使用 GUI。打开Settings,转到Devices,然后Keyboard。将显示以下内容:

Debian 中的新快捷方式

向下滚动到底部,然后单击+按钮。将出现一个对话框,其中包含输入字段:

  • 姓名
  • 命令
  • 捷径

填写完这些,单击蓝色Add按钮,就完成了。

相关内容