オートコンプリートと記録にzshを使用するのはうまく機能しますが、コマンド履歴は時々不要な項目でいっぱいになることがあります。たとえば、movies
フォルダの下で多くのことを行います。など、ファイルの移動、名前の変更などはまったく表示しないでください。コマンド履歴。
問題を回避し、特定のフォルダに保存されているコマンド履歴を除外できますか?
答え1
zshaddhistory
フック機能を使用してデフォルトの「記録保存」動作を無視できるようです。
zshaddhistory() {
case $PWD in
(*/movies) return 1;;
(*) return 0;;
esac
}
man zshmisc
zshaddhistory関数を参照する参考資料の説明を参照してください。
履歴行をインタラクティブに読み込むと、実行される前に実行されます。唯一の買収は完全な履歴行です(終了改行がまだ存在するように)。
フック関数がゼロ以外の値を返すと、履歴行は保存されませんが、次の行が実行されるまで履歴に残るため、すぐに再利用または編集できます。