読者です 読者をやめる 読者になる 読者になる

precmd とかのベターな書き方

zsh
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_preexec_1)
preexec_functions=($preexec_functions _OREORE_preexec_2)

こうすると、コードをきれいに分割可能で、ちゃんと二つとも表示されます