有没有办法用ctrl-r进行“子搜索”。假设我想搜索“查找”,然后在结果中搜索其他内容。搜索似乎至少不是zsh中的正则表达式,所以“find。* foo”之类的东西不起作用。
答案 0 :(得分:1)
我正在回答bash
。
既不是reverse-search-history
(绑定到Ctrl-r
的函数),也不是历史扩展(通过它可以重新调用最后find
命令键入!ls
,或者打印它键入!ls:p
)支持globbing或regex。
您最好的选择是
history | grep 'find.*foo'
寻找正则表达式找到。* foo'在命令历史记录中(您还可以提供history 20
,将搜索限制为历史记录中的最后20个命令。)
答案 1 :(得分:1)
在zsh中,您可以使用 ESC x history-incremental-pattern-search-backward 来搜索模式的历史记录。不幸的是,这种模式是一种全球式的模式,而不是正则表达式。
大多数终端模拟器允许使用 Alt-X 而不是 ESC x 。