I'm too lazy to change the defaults on the fonts. Blame the Notepad++ guys. And I rarely notice the comment issue that you pointed out... as sadly most of the code I work on is sorely lacking in comments.
The line wrapping isn't an issue because I usually make it much wider, and if when its wider there's still line wrapping, the person who wrote such code should probably be forced to endure great pain. Most programs I work on have a "please don't make 250-character-lines" policy, for good reason.
Split-screen editing (of the same file even; most editors don't let me split-screen edit the same file in two different windows), automatic syntax highlighting, bracket-matching (the standard stuff), tabbed editing, and the various built-in tools.
I do sometimes use vim, but I find that a simple tabbed GUI text editor gives me the most productivity. I've never liked IDEs, especially since I would rather just type "make" than try to use an internal build system. Add to this the fact that both my company and all my personal projects are based on the GNU toolset in some form or another.
And so many built-in tools...you really should take another look. I use TextMate on my Mac to churn out massive amounts of HTML, but any other editing happens in (G)Vim.
Before you go overwriting pretty useful default functionality, check Vim's manual for what those do to see if it isn't more useful (I prefer the defaults).
No idea, but I don't find that useful. I use :set showmatch, and a plugin called UnMtchBracket.vim (IIRC) that highlights any currently unmatched brackets.
This is pretty personal, so I guess it's something you may want to at least give a try.
Showmatch is there to highlight matching braces, not to insert them. The mappings actually match your braces by writing the close brace/parens/bracket. Here are the coding aids from my vimrc. They're pretty simple, as I don't like to change how Vim works too much:
" Coding aids
set undolevels=5000
set backspace=indent,eol,start
vnoremap < <gv
vnoremap > >gv
" Braces, etc.
inoremap ( ()<LEFT>
inoremap (<CR> (<CR>)<ESC>O
inoremap () ()
inoremap { {}<LEFT>
inoremap {<CR> {<CR>}<Esc>O
inoremap {{ {
inoremap [ []<LEFT>
inoremap [<CR> [<CR>]<Esc>O
inoremap [] []
" Wrap in braces, etc.
vnoremap -( <ESC>`>a)<ESC>`<i(<ESC>
vnoremap -[ <ESC>`>a]<ESC>`<i[<ESC>
vnoremap -{ <ESC>`>a}<ESC>`<i{<ESC>
vnoremap -" <ESC>`>a"<ESC>`<i"<ESC>
vnoremap -' <ESC>`>a'<ESC>`<i'<ESC>
" End the line, adding a semicolon
inoremap <S-CR> <ESC>A;<ESC>o
noremap <S-CR> A;<ESC>j
I also use NERDCommenter for quick commenting, an XML tag wrapper script, and a tag closer script. As you can see above, typing the open/close pair doesn't result in "())", and typing an open brace plus a carriage return automatically adds the close brace to the line below, in the format:
Line endings have significance in some languages. Even in languages where they don't, it can confuse you by looking like the end of an indentation level.
It means you can't scan down the left hand side of the editor looking at indentation, you've got to double check with the existence/non-existence of line numbers. For the same reason that it is easier to read left-aligned text than it is to read right-aligned text, though not quite as bad since not all lines are "wrong".