I've been using BBEdit for what feels like a decade - it was the late '90s, anyway.
I just switched to TextMate. It's an amazing little editor, that feels like it's taken the best parts of XCode, BBEdit, JEdit, and many others, and mashed them all into one slick and powerful little app.
Here's probably the coolest feature (well, the coolest feature that I've discovered today, anyway). The HTML bundle has a "Validate Syntax (W3C)" action, which sends the contents of the document (or selection) to the W3C HTML syntax validator. The resulting page is then modified by TextMate, such that clicking the error/warning links in the report take you to the correct line in your source document. When I tried that the first time, I was stunned. But, of COURSE that's how it SHOULD work. Very cool.
The other really handy thing it has over BBEdit is autocompletion. It'll complete html tags, code function names, and lots of other goodies. That's such a timesaver. Why doesn't BBEdit have that?
It's got the document/project drawer from JEdit, and tabs for open documents. It's got code folding. It's got a bundle that lets you send a project to XCode to be compiled, run and debugged. It's got syntax and code colouring for just about any language out there. It's got a Webkit-powered Preview window that actually lets you edit the previewed document, and creates acceptable code.
I've put in a request for a TextMate license, but if that doesn't get approved in time, I'll be pulling out my Visa card and buying one myself. I keep catching myself saying "heh. that's exactly how it SHOULD work." It's not perfect, but it's close.