zshを使ってると、 ^R なんかでコマンドヒストリから探すことが多くなる。なので、ヒストリは大事にメンテナンスしたい。余計なのを入れたくない。 zsh であるコマンドを履歴に登録しない方法 | Carpe Diemってページで先頭にスペースを入れるテクニックが解説されてたけど、もうちょっと柔軟に条件指定できる方法があるので紹介。 zshaddhistory を使って HISTIGNORE みたいなことをする bashには HISTIGNORE という環境変数があって、ヒストリに保存しないコマンドの条件を * とかワイルドカードでパターン指定できる。でも、なぜかzshにはない。 でもそこはzsh、何とかする方法があった。zshaddhistory という特殊関数を使うと解決できる。 zshaddhistory 関数はコマンドラインがヒストリに追加される前に呼び出されて、こいつが偽(0以外)