如何在zsh中启用反向搜索?

如何在zsh中启用反向搜索?

我最近(终于)切换到了 zsh,并且很喜欢它!到目前为止,我缺少的一件事是Ctrl+R进行增量历史搜索。
我已正确设置历史记录

HISTSIZE=10000
SAVEHIST=10000
HISTFILE=~/.zsh_history

我使用了vi按键绑定

bindkey -v

但是Ctrl+R不起作用。它会删除当前行上方的行,这也不是 vim 中应有的行为。

有什么建议么?

答案1

如果我没记错的话,您需要显式设置它,即使使用bindkey -v.使用这样的东西:

bindkey -v
bindkey '^R' history-incremental-search-backward

答案2

OMZ框架有zsh-history-substring-search插件预包装的。只需启用并使用;例如:

plugins=(git zsh-history-substring-search)

答案3

bindkey -e也可以工作并使 zsh 的行为更像 bash。它会恢复您可能使用过的其他内容,例如 ctrl-A(行首)、ctrl-K(删除光标右侧的所有内容)。

相关内容