I use Ultra Edit for all my programming. It support several features that I use a lot:
- customizable syntax highlighting modes
- column (rectangle) selection/cut/paste/
- search/replace in multiple files
- file diff comparison
- projects
- understands DOS/UNIX/MAC line endings, macros can convert a file quickly
- brace matching (I just found this - awesome)
- bookmarks (helpful in large codebases)
- color selector (good for html)