应该可以通过让 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
命令。