私はここ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プラグインの作成方法、履歴の処理方法などはまだわかりません。