Emacs and Screen
emacsen.livejournal.com
emacsen.livejournal.com
I just run "emacs --daemon" when I log in, "emacsclient -c" to get my main emacs X frame, and then "emacsclient -t foo.bar" when I need to edit something. (Actually, I alias "emacsclient -t" to "ec", so "ec foo.bar".)
If you don't want to install Emacs for some reason, "mg" is a much better choice than vi or nano.