Com a opção promptsubst ativada, você pode fazer:
$ PS2='${${(%):-%_}// / -> }> '
$ for i
for> if
for -> if>
${(%)...} permite a expansão imediata da expansão de ... . ${:-text} permite ter um texto arbitrário ${...} expand. E nós aplicamos a substituição ${x//pat/reply} nela. Isso pressupõe que a expansão de %_ não inclua % caracteres.