![如何在zsh中启用反向搜索?](https://linux22.com/image/20484/%E5%A6%82%E4%BD%95%E5%9C%A8zsh%E4%B8%AD%E5%90%AF%E7%94%A8%E5%8F%8D%E5%90%91%E6%90%9C%E7%B4%A2%EF%BC%9F.png)
我最近(终于)切换到了 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(删除光标右侧的所有内容)。