
次のような深いフォルダ構造があるとします。
/home/user1/Pictures/web/flickr/2023/02/02/pic.jpg
各ステップには明らかに異なるフォルダがあります。例えば、一番上には
/etc
/home
/usr
などなど。/home の下には次のようなものがあります:
/home/user1
/home/user2
/home/user3
そして、/home/user1 の下には次のものがあります:
/home/user1/Downloads
/home/user1/Pictures
/home/user1/Videos
など、要点はわかります。フォルダーを対話的にフィルターしてリーフ フォルダーまたはファイルにアクセスする方法はありますか? たとえば、次のようなことをしたいです。
$ vim /
そしてTabトップレベルの補完をすべてリストアップします(上の例ではetc、home、usr)。そして次のように入力すると
$ vim /h
文字 (上記の例では /home) を含むものだけが表示されますh
。それが唯一のものであれば、単一の選択肢が完成するので、次のようになります。
$ vim /home/
次に、/home の下にあるすべての選択肢 (上記の例では、user1、user2、user3) を一覧表示します。ここで 1 と入力すると、次のように絞り込まれます。
$ vim /home/user1/
それが唯一一致するオプションだからです。
bash には補完機能があることは知っていますが、このような機能があるかどうかはわかりません。何かヒントはありますか?