Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 在ZSH中搜索参数的历史记录_Linux_Shell_Unix_Zsh - Fatal编程技术网

Linux 在ZSH中搜索参数的历史记录

Linux 在ZSH中搜索参数的历史记录,linux,shell,unix,zsh,Linux,Shell,Unix,Zsh,有人知道如何通过ZSH中的参数历史向后搜索吗 例如,假设以下会话已运行: cd fooDir touch bar.txt touch baz.txt quz.txt 是否有类似于Ctrl-R的组合,可以从部分完成的命令行中提取参数 例如,如果我开始键入: cat b 然后按任意键,我是否可以自动完成bar.txt?按fruther键可能会自动完成baz.txt CTRL+R搜索整个命令行并替换提示符中已有的内容。我正在寻找只在历史记录中搜索以前的参数并将其附加到挂起命令的内容。有历史记录开始

有人知道如何通过ZSH中的参数历史向后搜索吗

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

cd fooDir
touch bar.txt
touch baz.txt quz.txt
是否有类似于Ctrl-R的组合,可以从部分完成的命令行中提取参数

例如,如果我开始键入:

cat b
然后按任意键,我是否可以自动完成
bar.txt
?按fruther键可能会自动完成
baz.txt


CTRL+R搜索整个命令行并替换提示符中已有的内容。我正在寻找只在历史记录中搜索以前的参数并将其附加到挂起命令的内容。

历史记录开始搜索菜单,但您需要为匹配输入一个数字。将此添加到.zshrc中:

bindkey '^P' history-beginning-search-menu
然后在键入命令开头后,使用Ctrl+p触发完成,然后输入匹配号。

这是一个很好的解决方案(顺便说一句,您必须添加
autoload-Uz history start search menu;zle-N history start search menu
,以使其绑定),但它也只能用于一个命令历史。谢谢你的提示。