Only thing that I wish it had is the auto tabbing functionality that can be found with emacs. For example in this snippet of code:
1 while (!done) {
2 //do something
3 }
Regardless of how where the first non empty character on line 2 is, if you just hit tab in emacs, it will automatically move it exactly 2 (or otherwise specified) spaces to the right of the first non empty character on line 1. And when you add the } on line 3, it moves the } back 2 to match the opening {.
What's that called btw? There's gotta be a name for that functionality.