向上箭头键搜索zsh shell给出的2个单词

时间:2012-04-07 16:35:59

标签: shell zsh

使用zsh / oh-my-zsh / iterm2,这是浏览终端命令历史记录的绝佳方式。

如果我在几天前发出命令说knife cookbook upload application并获得命令,我可以kkniknif并按向上箭头键,它将遍历以knife字开头的命令历史记录。

但是如果类似的命令以knife开始运行,我将不得不使用向上箭头键迭代命令。

但是,如果我想搜索多个单词,比如说要同时使用knife node获取命令,zsh不支持此功能并开始显示仅以knife开头的命令。 / p>

那么,有没有办法获得以两个单词开头的命令?这样我只需输入两个单词并按向上箭头键即可显示以两个单词开头的命令。

2 个答案:

答案 0 :(得分:2)

除了@Shep回答之外,我建议将<C-r>行为从仅搜索普通字符串改为搜索glob模式:

bindkey "\C-r" history-incremental-pattern-search-backward

。在这种情况下,您将通过搜索knife*node来获得所需的结果。顺便说一句,如果您执行knife node<Up>,则zsh应搜索以knife node开头的命令,而不仅仅是knife。但它不会搜索包含knifenode的命令,这些命令由其他单词分隔,并且不会搜索包含knife node的命令,而不会在line(谈论history-beginning-search-backward小部件)。

答案 1 :(得分:1)

也许不完全是你想要的,但输入C-r将打开一个向后命令搜索,它将搜索你输入的任何字符串,从最近的开始。要获得第二个最新的,再次按control-r(依此类推)。

另请参阅超级用户related thread