fish にはディレクトリ履歴を辿る方法が用意されている。

  • dirh 履歴を表示
  • cdh 履歴を素早く操作するためのプロンプトを表示
  • prevd 履歴を戻る。 Alt+ に対応
  • nextd 履歴を進む。 Alt+ に対応

Introduction — fish-shell 3.2.1 documentation

実際によく使うのは履歴を戻る Alt+ と、 cdh<Space><Tab> で補完候補から戻り先を選ぶというもの。

補足: pushd について

どのシェルにもあるビルトインコマンドとして pushd, popd があり、履歴を残して cd するコマンドである。 pushd <path/to/dir> で現在のパスがスタックに積まれた上で移動し、 popd でスタックからパスが取り出されてそこに移動する。

zsh では AUTO_PUSHD を設定すると cd した時に自動でパスがスタックに積まれるようになる。