Note that this will work in the terminal and the default emacs mode (which you are using if Ctrl+W deletes the previous word for you). It will not work in bash's vi mode and will not affect vi/vim itself. This is, therefore, only a partial answer but the best this emacs user can offer.
This sort of thing is managed by the
readline library whose behavior can be controlled via
~/.inputrc. Edit (or create, if it doesn't exist)
~/.inputrc and add this line:
Now, open a new terminal and it should work.
\C-H is actually Control+BackSpace. You can see keycodes by pressing Ctrl+V then, the key you are after. You will see that BackSpace returns
Now, it should be possible to bind Control+BackSpace to the bash function that deletes the previous word (
unix-word-rubout) by using
"\C-H": backward-kill-word. However, I can't get that to work. It works perfectly well with different keys (
"\C-E": backward-kill-word, for example, makes Ctrl+E delete the previous word) but for some reason, I can't get it to work with BackSpace.
So, as a workaround, we just map Ctrl+Backspace to Ctrl+W which is already mapped to
backward-kill-word. So, when you press Ctrl+Backspace, that will be translated to Ctrl+W which, in turn, will send
backward-kill-word. I got the idea for this workaround from this SU post.