The normal settings of TAB and Backspace keys are sometimes not
optimal for programming. TAB indentation by eight characters is often
too much for indentation in programs. The Backspace key is often
expected to go back by one character - this does not happen if the
character left to the cursor is a TAB character. Then the cursor jumps
back all the way to the beginning of the TAB.
These nuisances can be overcome by using
half-tab and
backward-delete-untab
instead.
I suggest to change your key bindings to the following:
Backspace and Ctrl-Left call
backward-delete-untab
Ctrl-Backspace calls
backward-delete-char
Tab calls
half-tab
Ctrl-Tab calls
tab-to-tab-stop