I prefer xemacs. There are versions available for Unix, Linux and Windows. See xemacs.org for more info. xemacs offers color coded datatypes, Perl formatting, and an interface to CM some systems. I use SCCS because my needs are simple, but others are available. It also knows about C, Java, XML, etc.