Answers:
终于找到了正确的咒语。您需要在插入模式下映射模式搜索。这是我所缺少的:
# 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
循环比赛。
-M keymap
告诉bindkey键盘映射表应用结合。我已经将其设置为插入模式和命令模式。
bindkey '^R' history-incremental-pattern-search-backward
,它可以工作。我还在/
zsh的vi普通模型中使用默认命令。这样,我可以搜索命令历史记录,一旦找到命令,它将在命令行中提供。然后,如有必要,我可以修改最后一个命令。
'^R' history-incremental-pattern-search-backward
另一方面,如果使用,它将使我进入与搜索字符串匹配的最后一个命令。但是,我还没有找到一种实际能够编辑命令的方法。在通过增量模式搜索找到与搜索字符串匹配的合适命令之后,是否可以按任何特定的组合键来编辑该命令?
根据zshzle
zsh 4.3.10 的手册页,默认情况下没有键绑定。您需要向isearch
地图添加绑定,并且只有几个小部件可用。例如,您可以执行以下操作:
bindkey -M isearch '^R' history-incremental-search-backward
bindkey -M isearch '^S' history-incremental-search-forward
bindkey -l
没有显示isearch
地图
isearch
在4.3.10中是新版本,而history-incremental-pattern-search-backward
在4.3.7中出现(如果我正确阅读了更改日志)。
-M
命令做什么?在我的情况下,即使没有-M
关键字这个伟大工程..