Before anything else, pick the editor that you feel comfortable using. The rest is just stuff I feel is important
About vi: Yes, at first it was a pain to be continually switching between modes. But after a while, you develop a taste, and then a need, to be able to pass command to your editor that are a bit more evolved that "put the hilighted text in the copy buffer". But it is only a matter of taste. Have a look to the first part of the tutorial I've pointed, and read the small "story" in the beginning of it.
About xemacs: IIRC (and skip many details, and invent many more), xemacs
was a fork to support X, had a separate evolution, cant be merged back to emacs for reasons of code ownership (they cant contact all the contributors to ask for their permission), and now is
somewhat obsolete as emacs support X. I think xemacs and emacs are so close, I couldnt find any difference in the commands.
About emacs:
http://ftp.gnu.org/pub/gnu/emacs/windows/. If there is something you want it to do that your installation cant, there must be a LISP script out there that does it.
Good luck
and welcome to the team
-ph