私は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-completion
left-openとopenの場合、accept-exact-dirs
パスが存在しない場合、zshは最後のパスを除くパスコンポーネントのみを完了しようとします。
zstyle ':completion:*' accept-exact-dirs true