のファイルとディレクトリの大文字と小文字を区別しないファジー補完が必要ですzsh。数時間マニュアルを読んだ後、これが私が思いついたものです:
zstyle ':completion:*:*:*:*:globbed-files' matcher 'r:|?=** m:{a-z\-}={A-Z\_}'
zstyle ':completion:*:*:*:*:local-directories' matcher 'r:|?=** m:{a-z\-}={A-Z\_}'
zstyle ':completion:*:*:*:*:directories' matcher 'r:|?=** m:{a-z\-}={A-Z\_}'
さらに、1 TAB回押して可能な補完を表示し、入力が1つだけの場合に入力した内容を変更するだけです。その後、もう一度押すとTAB「メニュー完了」モードになります。マニュアルに基づいて、私はこれを思いつきました:
zstyle ':completion:*' menu select
1つの状況を除き、すべてが正常に機能するようになりました。ホームディレクトリに2つのフォルダがDesktopあります.rstudio-desktop。私が持っているのでsetopt globdots、私は次を入力することを期待しています:
$ cd ~/dktop<TAB>
コマンドを入力したままにして、完了候補Desktopおよびとして表示し.rstudio-desktopます。代わりに、を削除 dktopして、次のものを残します:
$ cd ~/
関連するすべてのマニュアル、ガイド、Stack Exchangeに関する質問、およびその他のさまざまなソースを確認しました。しかし、私が何をしても、私はこの仕事をすることはできません。
興味深いことに、しかし、私は場合にホームディレクトリと予想されるように、次のすべての作品を入力します。
$ cd dktop<TAB>
つまり、パスの先頭以外のセグメントの問題だけです(これは、使用されC-x hているdirectoriesタグではなくタグに対応していることがわかりますlocal-directories)。
簡単に再現するために、ここにある~/.zshrc(と新鮮なエルキャピタンの仮想マシン上でテストされ、上記の状況や行動再現することzsh自作のを)。
@PythonNut
—
ラドンロズバラ
zsh 5.3.1OS Xでは、問題は再現します。オペレーティングシステムに違いがあるのは興味深いことです。
@PythonNut実際には、Linuxでは大文字と小文字が区別され、macOSでは大文字と小文字が区別されないためだと思います。
—
ラドンロズバラ
すべてのMac / macOSが大文字と小文字を区別しないわけではないのと同様に、ディスクが大文字と小文字を区別しないでフォーマットされているかどうかに依存します。
—
コンキ
zsh 5.3.1にArch Linux。cd ~/dktop<tab>収量cd ~/Desktop。