There's pretty nifty shit like TextMate - but you have to pay someone and it's only on one platform. Hands up all professional programmers who want to be restricted to work on only one platform?
There's EmacsEditor. Now we could get into a HolyWar but we all know that goes nowhere. I'll even agree that emacs was easier to script than BillJoy's original ViEditor. But nowadays, what, you'd rather hack in LispLanguage than in RubyLanguage? Hell yes! Don't let the door hit you in the butt. It's okay, it's slow enough to easily dodge.
There's VimTextEditor. Beautiful, open, all the bells and whistles either already baked in or easy enough to bolt on. It benefits strongly from having little old ViEditor sitting inside it wheezing away so we OldFarts can feel at home. But even for newbies it just sucks the best, no question, no contest. It'll lift the polish from your toenails if you let it.