^P 在 zsh 中不起作用,我应该在哪里查看?

^P 在 zsh 中不起作用,我应该在哪里查看?

我复制了 bashrc 并开始为 zsh 调整它,但我突然发现^P它不起作用,

它只是^P在屏幕上打印一个。

可能出什么问题了?或者我现在应该看哪里?

答案1

您可能在不知不觉中在 zsh 中使用了类似 vi 的键绑定。

Zsh 通过查看 $VISUAL 和 $EDITOR 来选择默认键盘模式。如果它们看起来像 vi-ish(如“vim”),它将选择类似 vi 的绑定而不是类似 emacs 的绑定。

C-p是默认情况下仅存在于类似 emacs 的键表中的绑定。显然,您也可以自由地将键绑定到类似 vi 的键表中您喜欢的任何内容,如“int”所建议的那样。但很可能,您确实想要 emacs 模式,您可以通过在配置中的某处执行以下操作来实现:

bindkey -e

...最好在进行其他与键盘相关的配置之前。

与往常一样,有关 zsh 行编辑器 (zle) 的完整详细信息可以在zsh参考手册的相应部分。它描述了如何选择默认模式,以及默认情况下哪些操作绑定到不同键映射中的哪些键。

答案2

尝试

bindkey "^P" up-line-or-history

相关内容