:nnoremap <BS> X
with this I cannot cross lines (delete $ between line <n+1> and line
<n> coming from line <n+1> while backspacing and it is not possible to
delete the last (or in other words the first char after ^ ) char of a
line.
Something perhaps like
:nnoremap <bs> i<bs><right><esc>
might do the trick. One edge-case I found with this one is if
you're on a blank line and use backspace, you delete the
backspace, but end up on the last character of the previous line,
thus if you have
abcd
X
with the cursor on the "X", and hit backspace, you end up on top
of the "d" on the previous line (rather than "after" it). Thus,
hitting backspace again will leave you with "abd" instead of
"abc" as one would normally want.
Haven't yet found a good solution to that one.
-tim