用于向上移动一个目录的键绑定(在 Bash 中)

用于向上移动一个目录的键绑定(在 Bash 中)

在 Zsh 中,我有一个键绑定可以向上移动一个目录(非常有用):

# C-M-u: up-directory
up-directory() {
    builtin cd .. && zle reset-prompt
}
zle -N up-directory
bindkey '\e\C-u' up-directory

它非常好。太好了,我也想在我的 Bash 配置中使用它。

我们怎样才能做到这一点?

PS-转自https://stackoverflow.com/questions/61076286/key-binding-to-go-up-by-one-directory-in-bash

答案1

您可以这样做。它不像 zsh 那样优雅或直接,但在 bash 中使用 可以做到bind
您不仅可以绑定内置的 Readline 函数(用 列出bind -l),还可以绑定其他宏和 shell 函数。

bind -m emacs -x '"\C-u":"cd .."'将在 emacs 模式(默认模式)下将 shell 命令 ( cd ..) 绑定到键 ( Ctrl+ )。u

请注意,您的提示可能不会反映出这一变化。
如果您省略,-x则系统会为您输入字符串,从而"cd ..\n"实现相同的结果。

相关内容