如何配置 .inputrc 以便 ALT+UP 具有 cd 的效果

如何配置 .inputrc 以便 ALT+UP 具有 cd 的效果

应该可以通过让 ALT+UP 生成连续的键盘输入来实现,这相当于cdspace..ENTER通过宏定义来实现。但不知道具体怎么做。

答案1

要真正执行您所要求的操作,请将以下行放入您的~/.inputrc

"\e\e[A": "cd ..\n"

这是当您按+\e\e[A时终端发送的字节序列(被解析为转义字符),某些终端可能会发送或其他序列。要了解终端发送的序列,请运行并按 键(转义将显示为)。AltUp\e\e[1;3A~cat^[

在 bash 中,原则上您可以将密钥绑定到 shell 代码,因此理论上这应该可行:

bind -x '"\e\e[A":cd ..'

然而从 bash 4.2 开始由于难以修复的实施错误,它不起作用。 Zsh专家斯蒂芬·查泽拉斯有一个解决方法:

bind -x '"\201":cd ..'
bind '"\e\e[A":"\201"'

效果有些令人困惑,因为提示没有重新绘制。

在 bash ≥4 中,添加shopt -s autocd到您的~/.bashrc.然后,您只需输入 即可更改到父目录(或任何目录)..,而无需键入cd命令。

相关内容