- bindkey '\e[3~' delete-char
- bindkey '\e[8~' end-of-line
- bindkey '\e[7~' beginning-of-line
-;;
-screen*|linux|cygwin)
- bindkey '\e[3~' delete-char
- bindkey '\e[4~' end-of-line
- bindkey '\e[1~' beginning-of-line
- bindkey '\eOM' accept-line
-;;
-xterm*)
- bindkey '\e[3~' delete-char
- bindkey '\e[F' end-of-line
- bindkey '\e[H' beginning-of-line
- bindkey '\eOH' beginning-of-line
- bindkey '\eOF' end-of-line
-;;
-cons25)
- bindkey '^?' delete-char
- bindkey '\e[F' end-of-line
- bindkey '\e[H' beginning-of-line
-;;
-esac
+ case $TERM in
+ rxvt*)
+ del=('\e[3~') home=('\e[7~') end=('\e[8~') ;;
+ screen*|linux|cygwin)
+ del=('\e[3~') home=('\e[1~') end=('\e[4~') ;;
+ cons25)
+ del=('^?') home=('\e[H') end=('\e[F') ;;
+ xterm*)
+ del=('\e[3~')
+ home=('\e[1~' '\e[H' '\e[OH')
+ end=('\e[4~' '\e[F' '\e[OF')
+ ;;
+ esac