Vim (Vi Improved) is small, fast, and incredibly powerful. It does have
a steep initial learning curve, but it has an extensive help system. Type
":help" first thing when you start it to read the tutorial. I use Vim for
everything.
Kate (KDE Advanced Text Editor) is not quite as small, fast, or powerful
as Vim, but it's much easier to use. It's probably the best "beginning
programmer's editor" I've ever seen. Kate is a standard tool in KDE3.
KWrite doesn't support XML out of the box, but you can choose
Settings:Configure Highlighting:Highlight Modes, change Highlight to "HTML",
and change the File Extensions to "*.html;*.html;*.xml", and it'll highlight
XML just fine.
KWrite's not powerful, but it's fast.
BBEdit's fast, powerful, and easy to use. You have to register it to
get syntax highlighting, but if you're going to use a Mac seriously, you
ought to have it.
JEdit is very powerful, but fairly slow; don't use it unless you have a
fast machine with at least 128MB RAM. If you do, it's better than Kate,
and runs on systems other than Linux.
TextPad's a decent editor. It handles multiple buffers well, and has
syntax highlighting, but it's not otherwise remarkable. The user interface
has some odd quirks, especially weird keybindings.
XML-specific editors are wonderful, but I find that I'm more productive
with just a good text editor. The benefit is that it's impossible to make
badly-structured documents with it.