ZSH 中的历史命令搜索

3

有人知道如何在ZSH中向后搜索参数历史记录吗?

例如,假设已经运行了以下会话:

cd fooDir
touch bar.txt
touch baz.txt quz.txt

有没有像Ctrl-R一样的组合键,可以从部分完成的命令行中撤回一个参数?
例如,如果我开始输入:
cat b

按下自动完成bar.txt的键是什么?进一步按下应该会自动完成baz.txt

CTRL+R可以搜索整个命令行并替换已经存在于提示符上的内容,我正在寻找的是仅搜索先前参数的历史记录,并将它们附加到待处理的命令中。

1个回答

0

有一个history-beginning-search-menu,但你需要输入匹配的数字。将其添加到你的.zshrc文件中:

bindkey '^P' history-beginning-search-menu

然后在输入命令的开头,使用Ctrl+P触发自动完成,然后输入匹配号码。

这是一个不错的解决方案(顺便提一下,你需要添加“autoload -Uz history-beginning-search-menu; zle -N history-beginning-search-menu”才能使其绑定),但它只适用于一个命令历史记录。还是感谢您的提示。 - hash-bang

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接