2012-09-24 16 views
11

私は多くの人がこの
autoload -Uz compinit
compinit

と他の人が、私は違いを知りたいのですが、この
autoload -U compinit
compinit -i

をしますか見てきました。どちらを使うべきですか? man zshbuiltinsからzshの補完差

答えて

10

autoload、:オプションKSH_AUTOLOADが未設定であったか、それぞれ設定されているかのよう

フラグ-z-kは、天然またはkshエミュレーションでオートロードする機能をマークします。

-Uフラグを遡ることができる。autoloadtypeset -fに相当する、function -uと等価です。 typesetは、簡単に言えば、次の目的で使用されます。

シェルパラメータの属性と値を設定または表示します。 -f-Uと組み合わせて使用​​される

[-fフラグ原因]名は、機能ではなく、パラメータを参照します。 ... -uフラグと-Uフラグを指定すると、関数はオートロード用にマークされます。 -Uは、関数がロードされたときにエイリアス展開を抑止します。

compinitは、「新しい」Zシェル完了システムであるcompsysによって使用される完了初期化関数です。詳細は、man zshcompsysを参照してください。

-iフラグに使用されます。compinitは黙ってすべての安全でないファイルやディレクトリは一般的に

-iオプションを使用無視させるために

、あなたはautoload -Uzを使用する必要があり、this interesting readに従って。

+2

* " - Uz"?はい、それは "正しいこと"です。ほとんどの場合、私はここで議論しません。* - meh、私が探していた部分は実際に記事で説明されていません。 – ThiefMaster

関連する問題