emacs isn't too bad, but I gave up on the multi-major-mode stuff a few years back, it just doesn't compare to TextMate. TextMate still seems to do very well if the one file contains several languages (like an html template), but emacs under MMM doesn't fare well at all.
Try nxhtml if you haven't already. Its "better" than mmm for some uses.
What I really should do is figure out a way to open sections of text in their own buffer (and corresponding major mode) so that changes in that buffer would be reflected in the original selection.
I've personally jumped to Vim. Mostly beacuse I do some sysadmin and now it's much less annoying editing config files, but also so I can jump from OS X and still be able to work.
http://platypope.org/yada/emacs-demo/