のファイルとディレクトリの大文字と小文字を区別しないファジー補完が必要です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.1
OS Xでは、問題は再現します。オペレーティングシステムに違いがあるのは興味深いことです。
@PythonNut実際には、Linuxでは大文字と小文字が区別され、macOSでは大文字と小文字が区別されないためだと思います。
—
ラドンロズバラ
すべてのMac / macOSが大文字と小文字を区別しないわけではないのと同様に、ディスクが大文字と小文字を区別しないでフォーマットされているかどうかに依存します。
—
コンキ
zsh 5.3.1
にArch Linux
。cd ~/dktop<tab>
収量cd ~/Desktop
。