How to fix strange backspace behaviour with urxvt + zsh?

Solution 1:

Try adding the following to your .zshrc:

TERM=xterm

Solution 2:

In zsh, what does bindkey | grep delete say? These are the lines I get:

"^D" delete-char-or-list
"^H" backward-delete-char
"^[3;5~" delete-char
"^[[3~" delete-char
"^?" backward-delete-char

You should have "^?" as that represents backspace. If not... you can call bindkey "^?" backward-delete-char at the zsh prompt to put it in.

Does that resolve the problem?