“inputrc”文件中键绑定的键名的一般格式是什么?

“inputrc”文件中键绑定的键名的一般格式是什么?

据我所知,文件中键绑定的格式inputrc是:

keyname: function-name or macro

对于键名,我看到了类似的内容:

"\e[B"
"\e[1~"
"\e[5D"
"\M-l"
"\C-[OD"
"\e\e[D"

这些键名的含义是什么?键名的一般格式是什么?请分享文档链接。

答案1

可以使用以下形式之一完成键绑定:

  1. 键名:命令名
  2. “按键序列”:命令名称

在第一种形式中,您可以拼出单个键的名称。例如,CONTROL-U 将写为 control-u。这对于将命令绑定到单个键非常有用。

在第二种形式中,您指定一个字符串来描述将绑定到命令的键序列。您给出的示例是 emacs 式反斜杠​​转义序列来表示特殊键

\C- 控制
\M- 元
\e- 逃脱

您可以使用另一个反斜杠 – 来指定反斜杠\\。同样, 'and"也可以被转义 -\'并且\"

更新

这些字符是您按下特殊键时终端所解释的字符。您不想在键绑定中绑定常规字母和数字,因为您可能会定期使用它们,并且当您不小心点击已映射到您~/.inputrc/etc/inputrc文件中的组合时可能会导致问题。

[1~ is what is interpreted by your terminal when you press your HOME button. 

要了解更多信息,只需输入read终端提示符,然后按所有类型的特殊键,如功能键、HOME、END、箭头键等,然后查看显示的内容。

这里有一个小参考我发现这可以提供一些基本的理解。祝你好运! :)

相关内容