代码之家  ›  专栏  ›  技术社区  ›  pvinis

zsh完工差

  •  17
  • pvinis  · 技术社区  · 13 年前

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

    其他人这样做
    autoload -U compinit
    compinit -i

    我想知道其中的区别。我应该用哪一个?

    1 回复  |  直到 13 年前
        1
  •  20
  •   uasi simont    10 年前

    autoload 从…起 man zshbuiltins 以下为:

    旗帜 -z -k 将函数标记为在本机或ksh仿真中自动加载,就好像选项 KSH_AUTOLOAD 未设置或已设置。

    这个 -U 标志可以追溯到: 自动加载 相当于 function -u ,相当于 typeset -f typeset 简而言之,用于:

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

    什么时候 -f 与组合使用 -单位 以下为:

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

    compinit 是由使用的完成初始化函数 compsys ,“更新”的Z-Shell完井系统。看见 man zshcompsys 详细信息。

    这个 -i 标志用于:

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

    一般来说,您应该使用 autoload -Uz 根据 this interesting read