jps wrote:I can understand that this hurts in some situations, such as when trying to line things up vertically, but I believe it's a win overall.
I see the rationale for it, but I'd really appreciate an option to disable it. For me, down in the level of my fingers, 'backspace' means remove exactly one character. It means 'back a space.' That's built-in on a nervous level.
What I'd rather see in python mode (or really anything with blocks) is preceding whitespace designated as 'words' for the delete word command (ctrl+back). So that lines are interpreted like this;
<ws-1>for x in range(1,3):
<ws-1><ws-2>if p > 4:
<ws-1><ws-2><ws-3>print "hello, world!"
So that if my cursor is just before the print statement, ctrl+back deletes the <ws-3> whitespace token, then <ws-2>, then <ws-1>. I think this is how the python lexer works -- it inserts these whitespace tokens so that the parser understands the indentation involved.
Now that may not be where you want to go, but I'd really like an option for backspace to be delete-one-character, and ctrl+backspace to do the tabbed deletion that is there by default on backspace.