The default werase setting erases the series of white spaces before the caret,
then it erases the preceding word (without touching the spaces before the word).
I expected that shell-backward-kill-word would do the same with the difference
that the entire quoted argument would be erased.
However, shell-backward-kill-word erases the word immedeately preceding the
caret plus it erases one additional space. This causes the inconvenience that
after erasing the shell word you can't immediately type a new word. You have to
type again a space that was deleted. I tried to restore the missing space using
sequence of commands, but it restores an unwanted space after erasing the very
first word:
stty werase undef
bind '"\C-\xff": delete-horizontal-space' # erase whitespaces following the
word
bind '"\C-\xfe": shell-backward-kill-word' # erase the word
bind '"\C-w": "\C-\xff\C-\xfe "' # erase whitespaces, erase word, restore 1
space