2017-07-17 8 views
0

私は最近フィッシュシェルに切り替え、親ディレクトリを指定せずにzshのようにファイルパスを自動完成できるかどうかを知りたがっています。 foo/bar/file.extのファイルの場合、zshでopen .///file <TAB>と入力し、open ./foo/bar/file.extに自動完成します(同じレベルの名前のファイルやディレクトリがないと仮定します)。私が魚で同じことをすると、オートコンプリートはファイルを見つけることができません。これを魚で可能にする方法はありますか?ディレクトリ構造を指定せずにフィッシュオートコンプリートファイルのパス

+1

'./*/*/file 'はどのように鳴りますか? –

答えて

1

zshと同じ方法ではありません。 Fishにはディレクトリに再帰する特別な** globがあります。オートコンプリートロジックはそれを認識して処理します。あなたはopen **/file[tab]を行うことができ、それはあなたが選ぶべき一致するファイルを提供します。しかし、実際にはコマンドラインで**を展開しておらず、結果は多少あいまいです。コマンドを実行する前にvarsとglobsを拡張するよう明示的に指示する方法を実装するために、公開されている問題https://github.com/fish-shell/fish-shell/issues/751があります。

+0

を参照してください。将来、zshを模倣する予定ですか?私は 'open **/file 'がzshよりもはるかに遅いことを発見しました。シェルをもっと使うほどオートコンプリートは速くなりますか? – Chris

+0

一般的なルールとして、フィッシュチームは設定可能な動作を追加しません。シェルは「うまくいく」はずです。誰かが新しい行動の提案が明らかに優れており、その変化が既存の行動に慣れているユーザーのほんの一部を悩ませているとは思わない場合、既存の行動を変えたいと思っています。問題を開封してください:https://github.com/fish-shell/fish-shell/issues/new。 OSがディスクから大量のデータを読み込まなければならない可能性があるため、 '**'を使った再帰的なファイル補完は遅くなります。 –

関連する問題