我有一个非常奇怪的情况,当将 n 个终端登录到我的 Centos 主机时,大写的 r 不起作用,它没有键入任何内容。
例如,当我编辑文件时,它确实有效。
经过长时间搜索可能的问题,我想我发现问题是我对R
没有绑定关联,请参阅并从bind -p
的输出中提取:
=======
"M": self-insert
"N": self-insert
"O": self-insert
"P": self-insert
"Q": self-insert
"S": self-insert
"T": self-insert
"U": self-insert
"V": self-insert
============
如您所见,缺少"R",如何添加? 请记住,我无法在终端:)中键入"R"
你试过这个吗?
bind '"R":self-insert'
或者这个,如果你不能输入"R":
bind '"'`echo -e 'x52'`'":self-insert'
rcap=$(echo r | tr '[a-z]' '[A-Z]')
此命令将变量设置为 rcap
R
。现在您可以使用$rcap
而不是R
任何地方,例如在恢复R
绑定的命令中:
bind "$rcap":"self-insert"
当然,您也可以编辑脚本并从bash
获取脚本,在那里您可以使用R
。
我的猜测是映射在某处被删除。运行 bash -x
以启动新的 shell,并查看在启动时执行了哪些命令。
您也可以尝试将bind "R":"self-insert"
添加到.bashrc
并启动新终端。