上一级目录的键绑定(在 Bash 中)
Key binding to go up by one directory (in 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 配置中得到它。
我们该怎么做?
你可以的。
它不像 zsh 那样优雅或直接,但在 bash 中使用 bind
.
是可行的
您不仅可以绑定内置的 Readline 函数(以 bind -l
列出),还可以绑定其他宏和 shell 函数。
bind -m emacs -x '"\C-i":"cd .."'
会将 shell 命令 (cd ..
) 绑定到键 (Ctrl+i) 在 emacs 模式下(默认模式)。 (默认情况下 Ctrl+i 是未绑定的,u 不是)
请注意,您的提示可能不会反映更改。
如果您省略 -x
,则系统会为您键入字符串,因此 "cd ..\n"
会获得相同的结果。
编辑:bind
是您绑定键和宏的方式,即使没有内置的东西存在也可以完成您想要的。
如果你用 3[K
结束你的 PS1 提示(擦除到 eol)并且可以使用
bind -m emacs '"\C-i":" cd ..&&echo -e \"\033[2A\"\n"'
做你想做的事。
这将首先打印 cd ..
然后控制字符将光标向上移动并 运行 它(使用 \n
)。
PS1 的末尾阻止它显示。这 是 一个 hack,但它表明它是可行的。
在 Zsh 中,我有一个键绑定可以上一级目录(非常有用):
# C-M-u: up-directory
up-directory() {
builtin cd .. && zle reset-prompt
}
zle -N up-directory
bindkey '\e\C-u' up-directory
很不错。太好了,我也想在我的 Bash 配置中得到它。
我们该怎么做?
你可以的。
它不像 zsh 那样优雅或直接,但在 bash 中使用 bind
.
是可行的
您不仅可以绑定内置的 Readline 函数(以 bind -l
列出),还可以绑定其他宏和 shell 函数。
bind -m emacs -x '"\C-i":"cd .."'
会将 shell 命令 (cd ..
) 绑定到键 (Ctrl+i) 在 emacs 模式下(默认模式)。 (默认情况下 Ctrl+i 是未绑定的,u 不是)
请注意,您的提示可能不会反映更改。
如果您省略 -x
,则系统会为您键入字符串,因此 "cd ..\n"
会获得相同的结果。
编辑:bind
是您绑定键和宏的方式,即使没有内置的东西存在也可以完成您想要的。
如果你用 3[K
结束你的 PS1 提示(擦除到 eol)并且可以使用 bind -m emacs '"\C-i":" cd ..&&echo -e \"\033[2A\"\n"'
做你想做的事。
这将首先打印 cd ..
然后控制字符将光标向上移动并 运行 它(使用 \n
)。
PS1 的末尾阻止它显示。这 是 一个 hack,但它表明它是可行的。