zshが親ディレクトリを完了しないようにする

zshが親ディレクトリを完了しないようにする

私はzshとgrmlのzshrcをベースにしています。私は仕事の一環として定期的にネットワークパス(NFS、AFSなど)にアクセスします。

/a/long/network/path/on/the/other/side/of/the/worldを作成してTABをダブルクリックすると、zshは/a/で検索を開始し、次に/a/long/で検索を開始しますそのため、速度が非常に遅くなります。 a/long/ネットワークなど...

また、ls /a/long/network/path/on/the/other/side/of/the/worldを実行すると、1秒以内に返されます。だから私はzshに私を推測するのをやめるように言いたいと思います。 (/usr/src/linuxx/を書いてTabを押すと/usr/src/linux/が欲しいことがわかりますが、ネットワーキングは私にもっと多くの害を与えるので大丈夫です。)最後のスラッシュの後に「最後」だけが自動完成したいです。

場合によっては、回避策CDをディレクトリに使用し、オートコンプリート機能を使用します。もちろん、より良い方法が必要です。

この目標をどのように達成できますか?

ベストアンサー1

この動作は次のように構成されます。スタイル(オプションがあるいくつかの基本原則は除く)あなたはドアを閉めたいpath-completion

デフォルトでは、ファイル名の補完はパス内のすべてのコンポーネントを調べて、そのコンポーネントに完了があることを確認します。たとえば、このスタイルを明示的にfalseに設定すると、カーソルの前のパスコンポーネントに対するこの動作が抑制され/u/b/zます。/usr/bin/zsh/

zstyle ':completion:*' path-completion false

あなたはオンにしたいかもしれませんaccept-exact-dirs代わりに。path-completionleft-openとopenの場合、accept-exact-dirsパスが存在しない場合、zshは最後のパスを除くパスコンポーネントのみを完了しようとします。

zstyle ':completion:*' accept-exact-dirs true

おすすめ記事