I'll chime in with the Mac folk on BBEdit. My only
gripe with it is that it's Mac only. If there were a *nix and Win32 port it would be my only editor. Since it's not, I agonized over this issue for a long while. I finally opted for vi/vim/gvim.
As a sys admin, proficiency in vi is essential, so why learn another editor? vi is like Unix itself, you can be immersed in it for years and still learn something new almost every day. Anything it can't do is likely only a shell escape away.
As GVIM, I get all the GUI features I need, syntax coloring, customization, consistency, etc. I can run the same editor on MacOS (9 or X), Win32, and *nix, and it behaves the same way. The admins that work for me and I agreed on a .exrc/.vimrc set up to help us enforce our shell/perl scripting standards.
When vim/gvim is not available there is always vi. By using vim/gvim I maintain my vi proficiency. That way when the axe falls, and I'm down in single user mode, I'm ready to rock. No worrying about what the proper syntax is for that global search/replace or whether or not I can mount that file system I had emacs/pico/joe/etc. installed on.