Zsh タブ補完は、部分パスで必要に応じて機能しません。

Zsh タブ補完は、部分パスで必要に応じて機能しません。

これについてもっと理解したいと思います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上記の状況と動作が再現されます(zshHomebrewを使用して新しいEl Capitan VMでテスト)。

ベストアンサー1

考えられる解決策の1つは次のとおりです。

bindkey "^I" expand-word

~/これにより、タブが絶対パ​​スに展開されます。

おすすめ記事