我想在打开 shell 时自动启动时在 zsh 中将 vi 设置为编辑模式(我正在使用 oh-my-zsh),所以在我的
.zshrc
开始时我尝试了以下代码:
set -o vi
或
bindkey -v
但是在 shell 中按 Enter 键时我无法进入 vi 模式。
如果我在 shell 中尝试了这两个命令之一,它就会起作用。
基本上我希望 zsh 以 vi 编辑模式启动。
有什么想法可以解决这个问题吗?
bindkey -v
足以在ZSH中启用vi模式。如果您担心该设置会被另一个插件覆盖,请将设置放在您的~/.zshrc
的底部。
开启vi模式后,默认进入“插入”模式。要进入“正常”模式,请使用 Esc。和 i 或 a 切换回“插入”模式。
顺便说一句,softmoth/zsh-vim-mode是我在 ZSH 中使用过的最强大的 vim 模式插件。
使用
bindkey -v
可以接管诸如使用 control+R 和 control+S 进行历史搜索等功能。要恢复该特定行为,请在 bindkey -v
之后添加以下行:
bindkey ^R history-incremental-search-backward
bindkey ^S history-incremental-search-forward
其他绑定可以在 ZSH 手册标准小部件部分找到。
如果你不介意在 zsh 中使用 vi 模式插件,这里有一个更好的选择,我写的,可以快速实现它。
zsh-vi-mode:ZSH 更好、更友好的 vi(vim) 模式插件。
添加此插件后,就可以像这样使用vi模式输入了: