function precmd { hoge } と、書くとシンプルでいいんですが、複数設置はできないので全く別目的のコードであっても、一緒くたにして書く羽目になります。 どのイベントか一つだけならともかく、precmd と preexec 両方にコード入れたいときなどは、分かりづらくなります。 そこで、オレオレ関数を適当に作って、(precmd|preexec|chpwd|periodic|zshaddhistory|zshexit|...)_functions 配列変数にその関数名を突っ込んでやるといいです。 function _OREORE_preexec_1 { echo oreore 1 } function _OREORE_preexec_2 { echo oreore 2 } preexec_functions=($preexec_functions _OREORE_pree