If you delete backwards in vim, it doesn't delete the character under the cursor. What do you need to do to have it delete, say, back to the last space?
Just to clarify, if you are already in insert mode,
CTRL-W is fast and usually what you want.
In normal mode, this may be what you're after:
Prepare to have your mind blown:
Vim makes a distinction between inclusive and exclusive motion.
vtoggles the "inclusiveness" or "exclusiveness" of a motion. For an example of toggling the opposite direction (inclusive => exclusive), try it with
:helpinclusive for an explication. Until now, you thought it was just esoteric nonsense! Didn't you? Didn't you?! (At least, my eyes glazed over whenever I used to read that section in the help... :)
So -- to combine that with deleting backwards to the last space -- you can use
vBd are faster and usually sufficient.
to delete back to a space, where I've used <space> to mean the space character. Alternatively, you could use
to delete back to the beginning of the current WORD, a WORD being a string of non-space characters. See
:help T :help B :help WORD
or more generally
:help left-right-motions :help word-motions :help motion.txt
In all those cases, though, Vim begins with the character to the left of the cursor.