简洁版本

简洁版本

简洁版本

如果您在执行tab以下命令后按下,您将获得一个文件管理器菜单。它的名字是什么?

ls *(

长版

我只是在做我的 Linux 工作,偶然间我按下tab(,然后弹出了一个我以前从未见过的非常酷的菜单。

突然我可以选择不同的过滤器。例如,我可以通过输入来查找目录,(/)以及更多非常有用的过滤器。

我很想了解更多信息,但我不知道在互联网上搜索什么。知道这个东西叫什么吗?


感谢您的帮助 :)

答案1

如果您添加:

zstyle ':completion:*' format 'Completing %d'

除了您~/.zshrc已有的样式之外,它还会告诉您它提供了哪种类型的完成:

$ print -r -- *(<Tab>
Completing glob flag
#  -- introduce glob flag
Completing glob qualifier
a  -- + access time
A  -- group-readable
c  -- + inode change time
+  -- + command name
d  -- + device
[...]

这指向通配标志(仅当extendedglob启用该选项时可用)和全局限定符文档的各个部分。

两个不同的功能都是由(.

$ print -r -- *(#<Tab>
Completing glob flag
a  -- approximate matching
c  -- match repetitions of preceding pattern
e  -- match end of string
i  -- case insensitive
I  -- case sensitive matching
l  -- lower case characters match uppercase

在:

print -r -- img*(#i).jpg

通配标志(#i)将不区分大小写的匹配为通配模式的其余部分,补全可以帮助您记住标志是什么。

$ print -r -- *(a<Tab>
Completing time specifier
s -- seconds    h -- hours      w -- weeks
m -- minutes    d -- days       M -- Months
Completing sense [default exactly]
- -- before                             + -- since
Completing digit (days)
          August                        September
Mo  Tu  We  Th  Fr  Sa  Su      Mo  Tu  We  Th  Fr  Sa  Su
 1   2   3   4   5   6   7                   1   2   3   4
 8   9  10  11  12  13  14       5   6   7   8   9  10  11
15  16  17  18  19  20  21      12  13  14  15  16  17  18
22  23  24  25  26  27  28      19  20  21  22  23  24  25
29  30  31                      26  27  28  29  30
[...]
print -r -- *(ah-1)

扩展到不到 1 小时前上次访问的文件。

请注意,如果bareglobqual禁用该选项,则只能使用(#q...)globbing 标志语法使用 glob 限定符(*.jpg(#qm-1)例如,对于最近一天内最后修改的 jpg 文件)。

你会发现,Glob 限定符是 zsh 的杀手级功能之一这里有数百个答案显示其用法

相关内容