只需在zsh的tab completion中展开第一个匹配文件名

只需在zsh的tab completion中展开第一个匹配文件名,zsh,Zsh,有三个文件a.pdf,b.pdf,c.pdf,我想使用zsh作为 xpdf *.pdf<tab> # zsh will expand like xpdf a.pdf b.pdf c.pdf # I wish xpdf a.pdf b.pdf c.pdf #<-- more other option could be select 我希望可以显示一个菜单,让我选择一个文件。 如何将“a.pdf b.pdf c.pdf”展开为“*.pdf”,有热键吗? 如果不是xpdf,而是

有三个文件a.pdf,b.pdf,c.pdf,我想使用zsh作为

xpdf *.pdf<tab>
# zsh will expand like
xpdf a.pdf b.pdf c.pdf
# I wish
xpdf a.pdf
b.pdf c.pdf   #<-- more other option could be select
我希望可以显示一个菜单,让我选择一个文件。 如何将“a.pdf b.pdf c.pdf”展开为“*.pdf”,有热键吗? 如果不是xpdf,而是针对ls-l,如何让我在ls-l*.pdf中选择一个pdf文件如果您安装了zsh补全,这应该已经是现成的了。ZSH有一些智能完成例程,它们知道对于某些程序,什么类型的文件扩展名应该是tab complete候选者

当然,您可以使用zshcompctl自定义这些,但是您给出的使用xpdf的示例应该已经为您设置好了。在未安装默认完成的环境中,此操作的手动规则如下所示:

compctl -g "*.pdf" xpdf
.zshrc config文件中的这一行将为xpdf命令添加一个新的pdf文件完成模式。

如果您安装了zsh完成,这应该已经是现成的了。ZSH有一些智能完成例程,它们知道对于某些程序,什么类型的文件扩展名应该是tab complete候选者

当然,您可以使用zshcompctl自定义这些,但是您给出的使用xpdf的示例应该已经为您设置好了。在未安装默认完成的环境中,此操作的手动规则如下所示:

compctl -g "*.pdf" xpdf

.zshrc config文件中的这一行将为xpdf命令添加一个新的pdf文件完成模式。

我认为您做得不对。zsh知道在完成xpdf时要完成pdf文件,所以执行xpdf应该可以。如果您总是希望菜单完成,请使用以下样式:zstyle':completion:'菜单选择。请参阅zshcompsys1并搜索select=num以查找相关的手册部分。Zsh接受emacs快捷方式:要撤消,请按Ctrl+x,u。它将从'a.pdf b.pdf c.pdf'展开到'*.pdf',就像您按下tab键之前一样。我认为您做得不对。zsh知道在完成xpdf时要完成pdf文件,所以执行xpdf应该可以。如果您总是希望菜单完成,请使用以下样式:zstyle':completion:'菜单选择。请参阅zshcompsys1并搜索select=num以查找相关的手册部分。Zsh接受emacs快捷方式:要撤消,请按Ctrl+x,u。它将从'a.pdf b.pdf c.pdf'展开到'*.pdf',就像你按下tab键之前一样。在我的.zshrc autoload-Uz compinit,compinit中,我尝试了你的方法,它显示三个pdf而不是一个pdf文件。在我的.zshrc autoload-Uz compinit,compinit中,我尝试了你的方法,它显示三个pdf而不是一个pdf文件。