zsh完成差

zsh完成差,zsh,zshrc,zsh-completion,Zsh,Zshrc,Zsh Completion,我见过很多人这样做 autoload-Uz compinit compinit 还有一些人这样做 自动加载-U compinit compinit-i 我想知道两者的区别。我应该使用哪一个?自动加载,来自: 标志-z和-k标记要在本机或ksh仿真中自动加载的函数,就好像选项ksh_AUTOLOAD分别未设置或已设置一样 -U标志可以追溯到:自动加载相当于功能-U,相当于排版-f排版,简而言之,用于: 设置或显示外壳参数的属性和值 当-f与-U结合使用时: [f标志导致]名称指的是函数而不是参数。

我见过很多人这样做
autoload-Uz compinit
compinit

还有一些人这样做
自动加载-U compinit
compinit-i


我想知道两者的区别。我应该使用哪一个?

自动加载,来自:

标志
-z
-k
标记要在本机或ksh仿真中自动加载的函数,就好像选项
ksh_AUTOLOAD
分别未设置或已设置一样

-U
标志可以追溯到:
自动加载
相当于
功能-U
,相当于
排版-f
<代码>排版,简而言之,用于:

设置或显示外壳参数的属性和值

-f
-U
结合使用时:

[f标志导致]名称指的是函数而不是参数。。。-u和-u标志导致将函数标记为自动加载-U还会导致加载函数时抑制别名扩展

compinit
是“较新”的Z-Shell完井系统
compsys
使用的完井初始化功能。有关详细信息,请参阅

-i
标志用于:

要使compinit以静默方式忽略所有不安全的文件和目录,请使用选项-i


一般来说,您应该使用
自动加载-Uz
,根据

“-Uz”?是的,这几乎总是“正确的事情”[tm],所以我不会在这里讨论它-嗯,我要找的一部分实际上没有在文章中解释我没有找到
-Uz
的进一步来源,但我自己对手册页的解释是
-z
标记通过
zsh
自动加载(即“本机”),这很理想,因为您正在运行zsh
-U
防止别名扩展,这在加载函数时(可能)是很好的,因为您可能有覆盖函数名称的alises,加载顺序(别名、函数与函数、别名)可能会中断。