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 -fです。typeset、一言で言えば、次の目的で使用されます。

シェルパラメータの属性と値を設定または表示します。

-fと組み合わせて使用​​する場合-U

[-fフラグの原因]名前はパラメーターではなく関数を参照しています。... -uフラグと-Uフラグを使用すると、関数に自動読み込みのマークが付けられます。-Uを使用すると、関数のロード時にエイリアスの展開も抑制されます。

compinitcompsysは、「新しい」Zシェル完了システムで使用される完了初期化関数です。詳細man zshcompsysはをご覧ください。

-iフラグは次の目的で使用されます。

compinitが安全でないすべてのファイルとディレクトリをサイレントに無視するようにするには、オプション-iを使用します。

一般的に、この興味深い読み物autoload -Uzによれば、を使用する必要があります。

于 2012-09-25T03:38:40.033 に答える