$EDITOR
或者$VISUAL
为vi/vim,导致zsh默认使用vi键位而不是用ctrl+a移动光标。bindkey -e
添加到~/.zshrc
中将恢复旧的行为(emacs键位)。$VISUAL
设置为 vi
,而是设置为一个打开 IDE 的命令,并且路径恰好包含“visual”这个词。 ♂️ - Josh^A
/^E
的问题。我找到了其他提示来让这些键在iTerm2上正常工作,但那涉及改变iTerm2的行为而不是修复根本问题。 - mbafford如果您使用默认的键位映射(emacs
键位映射),则无需配置 Ctrl+A 的行为。它会按您的预期执行。
然而,如果您将zle设置为使用 vi
键位映射,则必须为 vi-beginning-of-line
定义 keybind
。对于 Ctrl+E 也是一样。
因此,请检查您在配置中设置了哪种键位映射。如果是vi,请尝试按下 ESC 然后 ^ 和 $ 就可以实现您想要的功能。
bindkey -v
映射为vi,bindkey -e
映射为emacs。 - Kent~/.zshrc
文件中写入此内容:@JeanlucaScaljeri - Kentzsh .zshrc
bindkey "^A" vi-beginning-of-line
bindkey "^E" vi-end-of-line
将ctrl + E映射到行末行为。 - mareoraft
bindkey | fgrep '^A'
是否返回类似于 ""^A" beginning-of-line" 的行。 - chepner