Judging by what he tried to do, he wants delete to cause a SIGINT (not SIGTERM; that's the one kill uses if you don't specify another). OP, shot in the dark here - try `stty intr '^[[3~'`. When you get this working, you'll want to put a switch to run the appropriate one based on the value of $TERM. Like so:
Code:
52 case "$TERM" in
53 'xterm')
54 bindkey '^[[H' beginning-of-line
55 bindkey '^[OH' beginning-of-line
56 bindkey '^[[F' end-of-line
57 bindkey '^[OF' end-of-line
58 bindkey '^[[3~' delete-char
59 bindkey '^[[6~' end-of-history
60 bindkey '^[[5~' insert-last-word
61 ;;
62 'xterm*')
63 bindkey '^[OH' beginning-of-line
64 bindkey '^[OF' end-of-line
65 bindkey '^[[3~' delete-char
66 bindkey '^[[6~' end-of-history
67 bindkey '^[[5~' insert-last-word
68 ;;
69 'screen')
70 bindkey '^[[1~' beginning-of-line
71 bindkey '^[[4~' end-of-line
72 bindkey '^[[3~' delete-char
73 bindkey '^[[6~' end-of-history
74 bindkey '^[[5~' insert-last-word
75 ;;
76 'linux')
77 bindkey '^[[1~' beginning-of-line
78 bindkey '^[[4~' end-of-line
79 bindkey '^[[3~' delete-char
80 bindkey '^[[6~' end-of-history
81 bindkey '^[[5~' insert-last-word
82 ;;
83 esac