在 ZSH 历史-增量-模式-向后搜索中循环匹配

在 ZSH 历史-增量-模式-向后搜索中循环匹配

我最近切换为使用历史搜索,history-incremental-pattern-search-backward因为它允许在搜索中使用模式。以下是在我的.zshrc

bindkey -M vicmd '/' history-incremental-pattern-search-backward

这很有效,但我不知道如何从搜索菜单转到下一场比赛。

% cat foobarbaz.txt
bck-i-search: f*baz

是否有一个键可以执行此操作?

答案1

终于找到了正确的咒语。您需要在插入模式下映射模式搜索。这是我缺少的部分:

# Search backwards and forwards with a pattern
bindkey -M vicmd '/' history-incremental-pattern-search-backward
bindkey -M vicmd '?' history-incremental-pattern-search-forward

# set up for insert mode too
bindkey -M viins '^R' history-incremental-pattern-search-backward
bindkey -M viins '^F' history-incremental-pattern-search-forward

我本来想^B在插入模式下使用它来进行向后搜索,但我已将其映射到其他内容。所以现在循环^R查看^F匹配项。

答案2

根据zshzlezsh 4.3.10 的手册页,默认情况下没有绑定任何键。您需要将绑定添加到isearch映射中,并且只有几个小部件可用。例如,您可以执行以下操作:

bindkey -M isearch '^R' history-incremental-search-backward
bindkey -M isearch '^S' history-incremental-search-forward

相关内容