В zsh, что говорит bindkey | grep delete? Это строки, которые я получаю:
"^D" delete-char-or-list
"^H" backward-delete-char
"^[3;5~" delete-char
"^[[3~" delete-char
"^?" backward-delete-char
У вас должно быть «^?» так как это означает обратное пространство. Если нет ... вы можете вызвать bindkey "^?" backward-delete-char в приглашении zsh, чтобы поместить его.
Решает ли это проблему?