简洁版本
如果您在执行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 的杀手级功能之一这里有数百个答案显示其用法。