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


17

我了解inputrc文件中键绑定的格式为:

keyname: function-name or macro

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

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

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


2
对于您的文档,建议您查看readline(3)联机帮助页或readline用户手册
2011年

1
通过以下命令检查关键配置(readline-inputrc):$ bind -p
vigo

Answers:


12

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

  1. 关键名:command_name
  2. “按键序列”:command_name

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

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

\C-控制
\M-元
\e-转义

您可以使用另一个反斜杠–指定反斜杠\\。同样'"也可以逃脱- \'\"

更新资料

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

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

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

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


2
是什么\e[1~\M-l以及\C-[OD是什么意思?的\e\M以及\C部分是清楚的。剩下的怎么样?例如:[1~-我应该按Shift+ {+ 1+ Shift+ `吗?
Misha Moroshko

我已经为您更新了答案。希望有帮助!
jaypal singh 2011年

链接断开。仍然不知道波浪号或开括号是干什么的??
卡尔·史密斯
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.