タブを完成させるために「cdablevars」変数を使用するのはなぜですか?

タブを完成させるために「cdablevars」変数を使用するのはなぜですか?

使ってみようcdablevars.zshrc、私のファイルに設定してください

# Set directory variables
setopt cdablevars
Home=/Users/benjamin

ただし、タブが完了する前にを実行するcd Home必要があります。cd Home/Desktop/

ここに画像の説明を入力してください。

最初の端末ウィンドウでは、Homeタブ補完機能は使用できません。実行した後にcd Home。タブ補完が自動的に認識されるように変数を設定できますか?

ベストアンサー1

/_cd組み込み機能の完成者は以下を提供します。cdpushd名前ディレクトリに追加されました名前ディレクトリハッシュテーブル(hash -dおよび$nameddirs関連配列を参照)

これらの内容は、対応する名前付きディレクトリを参照するときに入力されます。名前付きディレクトリハッシュの完全なビルドを実行しても、アイテムのみが追加されますhash -df~user文書に指定されています)。

一般的なzsh対話型セッションには何百ものグローバル変数があり、そのほとんどはディレクトリを含みません。それらを完成させることは非生産的です。

また、これはcdablevars歴史的な遺物に近く、主にtcsh予想以上の問題を含む多くの問題を引き起こし、発生するユーザーに対応するためのものです。私は個人的にそれを離れたいと思います。バラよりパスを評価するとzshが遅くなります。これについて詳しく学んでください。

しかし、とにかく、cd ~HoTab(使用して~... 明らかにIMOがより良い)に追加しない限り、その有無にかかわらずcdablevars完全ではありません。Home名前ディレクトリハッシュテーブル。

hash -dそれにもかかわらず、必要に応じてincludeを使用できますhash -d ${(k)parameters}

おすすめ記事