16

我见过很多人这样做 ,其他人这样做 我想知道区别。我应该使用哪一个?
autoload -Uz compinit
compinit


autoload -U compinit
compinit -i

4

1 回答 1

18

autoload, 从man zshbuiltins:

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

-U标志可以追溯:autoload等价于function -u,即等价于typeset -ftypeset,简而言之,用于:

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

何时-f与 结合使用-U

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

compinitcompsys是“较新”的 Z-Shell 补全系统使用的补全初始化函数。详情请参阅man zshcompsys

-i标志用于:

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

一般来说,autoload -Uz根据这篇有趣的阅读,您应该使用.

于 2012-09-25T03:38:40.033 回答