入力すると
cd l
タブを押すと、zshがオートコンプリートして
cd lightdm/
これは私が利用できるディレクトリではありません(実際、私はlightdmをアンインストールしました)。
これを防ぐにはどうすればよいですか?
Preztoをインストールしました。
これはおそらく、zshoptions(1)
に記載されているAUTO_NAME_DIRS
オプションとCDABLE_VARS
オプションの組み合わせです。
% PS1='%# ' zsh -f
% setopt AUTO_NAME_DIRS
% setopt CDABLE_VARS
% autoload -U compinit
% compinit
% cd a # was mashing tab here to no avail (nor asdf)
cd: no such file or directory: a
% hash -d asdf=/etc
% cd asdf/ # "cd a" now tab completes
(これは、zshoptions
で「dir」および「cd」に関連する文字列を検索して発見されました。)
これをオフにするには、これらのオプションの1つ以上(unsetopt
)を無効にするか、完了コードが検出している変数を削除します。
ユーザーthrig
がすでに彼の回答で言及しているように、これはCDABLE_VARS
オプションが設定されていることが原因でした。
同様の問題があり、追加して修正しました
unsetopt CDABLE_VARS
.zshrc
への行
結局.zhistory
そしてlightdm
へのすべての参照を削除すると、問題は解決しました。 zshが完了を保存する場所は他にもあるかもしれませんが、それらが何であるかはわかりません。