Я недавно реализовал ту же самую вещь.Лучшее решение, которое я могу предложить, это следующее
cdup() {
cd ..
zle reset-prompt
}
zle reset-prompt
- это бит, который заставляет его перерисовывать приглашение.
Редактировать :
Моя предыдущая версия ответа содержала printf '\n'
в ответе.Это было необходимо, если приглашение было многострочным.Однако у zsh, по-видимому, масса проблем с многострочными запросами, поэтому я его отбросил.