我可以在 zsh 中同时使用 Emacs 和 Vim 键绑定吗?

Can I use both Emacs and Vim keybindings in zsh?

我使用 zsh,我最近了解到 bindkey -v 一次绑定有用的 Vim 键绑定,但我也意识到,当我使用 bindkey -v 时,所有默认值(Emacs-像)键绑定被禁用。

我想在插入模式下使用类似 Emacs 的键绑定,而在正常模式下 Vim 键绑定也启用。

我可以在 zsh 中同时使用 Emacs 和 Vim 键绑定吗?如果是,我该怎么办?

是的,你可以。它甚至是默认绑定的一部分。

要为 "insert-mode" 获得类似于 emacs 的绑定,您只需将 emacs 设置为默认键盘映射。这已经是这种情况,除非 VISUALEDITOR 环境变量中的任何一个包含字符串 vi 并且除非您将其显式设置为 viins bindkey -v。您也可以使用 bindkey -e 明确设置它。

emacs 模式你可以切换到 vicmd 模式 ("normal-mode") 与键序列 ^X^V, 即 Ctrl+x 后跟 Ctrl+v.要返回 emacs 模式,只需键入通常会让您进入 viins 模式 ("insert-mode") 和 [=22] 的任何按键序列=]vi-like 绑定,例如ia.