zsh快捷键&c; ctrl + A'不工作

时间:2014-04-17 08:36:53

标签: shell keyboard-shortcuts zsh shortcut

我最近从bash切换到zsh shell。更准确地说,oh-my-zsh 非常好,但我经常使用的捷径;跳到行的开头/结尾不再起作用了。从docs它应该是

ctrl + A --> beginning
ctrl + E --> end

然而,当我这样做时,我得到以下

$~> my-command
$~> my-command^A   # did a ctrl + A here

虽然我看到其他人都在工作,但在我的系统上似乎有些不同。有什么建议吗?

3 个答案:

答案 0 :(得分:24)

如果使用默认键映射(emacs键映射),则不必配置 Ctrl + A 行为。它符合您的期望。

但是,如果您将zle设置为使用vi键盘映射,则必须为keybind定义vi-beginning-of-line。同样适用于 Ctrl + E

请检查您在配置中设置的键映射。如果它是vi,尝试按 ESC 然后 ^ $ 应该做你想要的。

答案 1 :(得分:7)

如果您想知道为什么会发生这种情况:您可能将$EDITOR$VISUAL设置为vi / vim,这使得zsh默认为vi键映射而不使用ctrl + a来移动插入符号。

bindkey -e添加到~/.zshrc将恢复旧行为(emacs键映射)。

答案 2 :(得分:6)

zsh .zshrc

bindkey "^A" vi-beginning-of-line