zshを使ってると、 ^R なんかでコマンドヒストリから探すことが多くなる。なので、ヒストリは大事にメンテナンスしたい。余計なのを入れたくない。 zsh であるコマンドを履歴に登録しない方法 | Carpe Diemってページで先頭にスペースを入れるテクニックが解説されてたけど、もうちょっと柔軟に条件指定できる方法があるので紹介。 zshaddhistory を使って HISTIGNORE みたいなことをする bashには HISTIGNORE という環境変数があって、ヒストリに保存しないコマンドの条件を * とかワイルドカードでパターン指定できる。でも、なぜかzshにはない。 でもそこはzsh、何とかする方法があった。zshaddhistory という特殊関数を使うと解決できる。 zshaddhistory 関数はコマンドラインがヒストリに追加される前に呼び出されて、こいつが偽(0以外)
![zshで特定のコマンドをヒストリに追加しない条件を柔軟に設定する - mollifier delta blog](https://cdn-ak-scissors.b.st-hatena.com/image/square/fb4baab23b0952eeb1306766a60010d63d35d8fc/height=288;version=1;width=512/http%3A%2F%2Fecx.images-amazon.com%2Fimages%2FI%2F41Oh-vEw7FL.jpg)