bash でのインタラクティブな反復フォルダー フィルタリング

bash でのインタラクティブな反復フォルダー フィルタリング

次のような深いフォルダ構造があるとします。

/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 には補完機能があることは知っていますが、このような機能があるかどうかはわかりません。何かヒントはありますか?

関連情報