设置 vim 键后,将普通模式设置为 zsh 的默认模式

设置 vim 键后,将普通模式设置为 zsh 的默认模式

我已经设定

bindkey -v

在我的中~/.zshrc,以便vim每当我打开 zsh.因此,viins(又名插入模式)是启动新实例的键盘映射zsh。我想让vicmd键盘映射(又名正常模式)成为启动的键映射zsh

这就是我到目前为止所得到的

1) zsh这是文档的部分其中讨论了键盘映射以及如何创建新的键盘映射。

2)我发现论坛中的帖子其中似乎是一个zsh开发人员回答了一个与我类似的问题,他解释了为什么完成我的要求并不简单。

3)这是键盘映射中切换到键盘映射的vi-cmd-mode编辑器功能(见下文)viinsvicmd

$ bindkey -v && bindkey | grep '"\^\["'
"^[" vi-cmd-mode

因此,如果我能够在打开vi-cmd-mode新实例时调用编辑器函数(在本例中为 ) ,我也可以完成我的请求。zsh也许,有一种方法可以通过在我的zshrc.因此zsh将从 开始viins,但立即切换到vicmd

答案1

您链接的论坛帖子的第一个答案指向手册页文档中的一个示例,zshzle(1)该示例可能可以实现您想要的效果。第二个较长的答案涉及链接main键盘映射的技术细节vicmd,虽然更接近论坛中提出的精确问题,但并不完全有用。所以您可能想尝试以下操作:

zle-line-init() { zle -K vicmd; }
zle -N zle-line-init

另外,如果您使用vared内置函数,您可以使用以下命令强制其在键盘映射中启动vicmd

alias vared='vared -i vi-cmd-mode'

相关内容