ファイルが存在する場合のzsh履歴範囲を現在のファイルツリーに制限する

ファイルが存在する場合のzsh履歴範囲を現在のファイルツリーに制限する

zsh 記録が次のような動作をするようにしたいと思います。

  1. .zsh_history現在のディレクトリにファイルがある場合は、そのファイルを履歴として扱います。
  2. 現在のディレクトリに誰もいない場合は、見つかる.zsh_historyまでツリー検索を開始します(git検索方法に似ています.git)。
  3. ファイルシステムのルートに達しても見つからない場合は、通常の.zsh_historyシステム全体の履歴ファイルを使用してください。

これを行う方法はありますか?

他の質問を見ると、常に履歴範囲を現在のディレクトリに制限する方法がいくつかあります。しかし、私はそうしたくありません。通常、システム全体の履歴ファイルを使い続けたいと思います。範囲を現在のディレクトリに制限したいだけです。時々、適切なコンテキスト(たとえば、いくつかのGitリポジトリ)が含まれている場所の場合は、そのディレクトリにファイルを作成してこれらの場所を表示したいと思います。このファイルはサブディレクトリでも機能する必要があります。

関連情報