使用zsh/oh-my-zsh/iterm2,这是浏览终端命令历史记录的绝佳方法。
如果几天前我发出了一个命令knife cookbook upload application
并获得命令,那么我可以执行k
或kni
或knif
并按向上箭头键,它将遍历以knife
字开头的命令历史记录。
但是,如果已经运行了以knife
开头的类似命令,我将不得不使用向上箭头键迭代这些命令。
但是,如果我想搜索多个单词,比如说要同时获得knife node
和zsh命令,则zsh不支持此功能,而是开始显示以knife
开头的命令。
那么,有什么方法可以获取以两个单词开头的命令?因此我只键入两个单词并按向上箭头键仅显示以两个单词开头的命令。
最佳答案
除了@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
的命令(谈论history-beginning-search-backward
小部件)。关于shell - 向上箭头键搜索zsh shell给定的2个单词,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10056275/