There are many reasons a program wouldn't work across systems. The primary would be that it is a Mac OS X or Windows-only app (TextMate) or that it needs a GUI, or that it makes too many assumptions about the platform it is running on. Vim works on many (if not all) systems, it can be run with or without a GUI without losing or breaking anything, etc. Obviously, Emacs has all the same pros but I liked Vim more.
There are many reasons a program wouldn't work across systems. The primary would be that it is a Mac OS X or Windows-only app (TextMate) or that it needs a GUI, or that it makes too many assumptions about the platform it is running on. Vim works on many (if not all) systems, it can be run with or without a GUI without losing or breaking anything, etc. Obviously, Emacs has all the same pros but I liked Vim more.
So Vim for me.