%m
expande para o valor de $HOST
(inicializado na inicialização do nome do host).
Então você pode usar:
set -o promptsubst
PS1='${HOST##*localhost*}'
Ou, como $HOST
normalmente não mudaria (nem mesmo quando o nome do host é alterado) e supondo que ele não contenha %
caracteres:
PS1="${HOST##*localhost*}"
(expanda em ~/.zshrc
).