$ pwdが特定のフォルダにあるときにコマンドを履歴に保存しませんか?

$ pwdが特定のフォルダにあるときにコマンドを履歴に保存しませんか?

オートコンプリートと記録にzshを使用するのはうまく機能しますが、コマンド履歴は時々不要な項目でいっぱいになることがあります。たとえば、moviesフォルダの下で多くのことを行います。など、ファイルの移動、名前の変更などはまったく表示しないでください。コマンド履歴。

問題を回避し、特定のフォルダに保存されているコマンド履歴を除外できますか?

答え1

zshaddhistoryフック機能を使用してデフォルトの「記録保存」動作を無視できるようです。

zshaddhistory() {
  case $PWD in
    (*/movies) return 1;;
    (*)        return 0;;
  esac
}

man zshmisczshaddhistory関数を参照する参考資料の説明を参照してください。

履歴行をインタラクティブに読み込むと、実行される前に実行されます。唯一の買収は完全な履歴行です(終了改行がまだ存在するように)。

フック関数がゼロ以外の値を返すと、履歴行は保存されませんが、次の行が実行されるまで履歴に残るため、すぐに再利用または編集できます。

関連情報