I use MacVim and I often have multiple files open in separate tabs.
Vim supports syntax highlighting out of the box and code completion if you use ctags plugins.
See also:
- http://linuxhelp.blogspot.com/2006/09/visual-walk-through-of-couple-of-new.html
- http://blogs.gnome.org/lharris/2008/07/20/code-completion-with-vim-7/