zshの各ディレクトリの履歴

zshの各ディレクトリの履歴

zshしばらく幸せに使ってきましたし、以下の履歴設定にとても満足しています。

# Write to history immediately
setopt inc_append_history
# History shared among terminals
setopt share_history
# Save extended info in history
setopt extended_history
# Ignore duplicates
setopt hist_ignoredups

ただし、一部の特定のディレクトリで特定のコマンドを使用する必要があることがよくあります。たとえば、私が入るときは普通に~/my_project電話しmake target1 && ./run1ますが、私が入るときは~/second_project通常が必要ですmake target2 && cat foobar | ./run2

つまり、ディレクトリは異なりますが、コマンドは似ています。

だから私は通常cd ~/my_project何かを入力し、必要なmakeものが見つかるまで履歴を逆に検索します。しかし、偶然に仕事をすると、second_project記録の検索中に不要なコマンドが見つかります。

だから私の質問:履歴から検索すると、現在のディレクトリから呼び出されたコマンドが最初に表示されるようにzshのプラグイン/設定/何かがありますか?

理想的には、一致する他のすべての履歴コマンドがこれらのコマンドの後に表示され、オプションで優先順位要素の最大数を指定します。

私もこのようなことを書こうとしていますが、カスタムzshプラグインを書く方法、履歴を処理する方法などはまだわかりません。

ベストアンサー1

必要な作業を正確に実行すると主張するプラグインがあり、名前が適切です。ディレクトリ別履歴プラグイン:

https://github.com/jimhester/oh-my-zsh/commit/baa187e4b903f39422a84b580e6e617ec3738e09

「ディレクトリごとの履歴 - ctrl-gを使用して各ディレクトリ間を動的に切り替える機能を使用して、各現在のディレクトリの以前のコマンド履歴をグローバルに追跡します。」彼らのwikiは言います。

直接テストしたことはありませんが、コメントによるとうまくいきます。

おすすめ記事