使用zsh / oh-my-zsh / iterm2,这是浏览终端命令历史记录的绝佳方式。
如果我在几天前发出命令说knife cookbook upload application
并获得命令,我可以k
或kni
或knif
并按向上箭头键,它将遍历以knife
字开头的命令历史记录。
但是如果类似的命令以knife
开始运行,我将不得不使用向上箭头键迭代命令。
但是,如果我想搜索多个单词,比如说要同时使用knife node
获取命令,zsh不支持此功能并开始显示仅以knife
开头的命令。 / p>
那么,有没有办法获得以两个单词开头的命令?这样我只需输入两个单词并按向上箭头键即可显示以两个单词开头的命令。
答案 0 :(得分:2)
除了@Shep回答之外,我建议将<C-r>
行为从仅搜索普通字符串改为搜索glob模式:
bindkey "\C-r" history-incremental-pattern-search-backward
。在这种情况下,您将通过搜索knife*node
来获得所需的结果。顺便说一句,如果您执行knife node<Up>
,则zsh应搜索以knife node
开头的命令,而不仅仅是knife
。但它不会搜索包含knife
和node
的命令,这些命令由其他单词分隔,并且不会搜索包含knife node
的命令,而不会在line(谈论history-beginning-search-backward
小部件)。
答案 1 :(得分:1)
也许不完全是你想要的,但输入C-r将打开一个向后命令搜索,它将搜索你输入的任何字符串,从最近的开始。要获得第二个最新的,再次按control-r(依此类推)。
另请参阅超级用户related thread。