これについてもっと理解したいと思います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\_}'
TAB
また、ワンクリックで可能な完成項目を表示し、入力した内容がある場合にのみ修正したいと思います。次に2回目を押すと、TAB
「メニュー完了」モードに切り替わります。マニュアルに従って私はこれを思い出しました。
zstyle ':completion:*' menu select
今の場合を除いて、すべてが期待どおりに機能します。私のホームディレクトリには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
Homebrewを使用して新しいEl Capitan VMでテスト)。
答え1
考えられる解決策の1つは次のとおりです。
bindkey "^I" expand-word
~/
これにより、タブが絶対パスに展開されます。