I don't want to get into the emacs/vim war, but I think vim would be better here than emacs.
For a general text editor, I'd recommend vim over emacs. I used to use emacs, but there were problems with it. In particular, macros & aliases were complicated to set up & use, & impossible to edit (unless you know lisp). In fact, the emacs guides state clearly that if you wish to create a macro or script to automate something, you should let emacs record your actions & then name the script. The actual process for doing this I found cumbersome—I had to look up documentation every single time I wanted to do it—and then, if you wish to edit the script, your only recourse it to re-enact the process so that it is re-recorded! I found this inefficient.
vim has these advantages:
- Found on every Unix & Linux machine, always. When you need to boot into failsafe mode & edit text files, you know vi (or vim) will be there. You can't guarantee that with emacs.
- Smaller footprint than emacs.
- Much easier to set up abbreviations (so that you type sem, for instance, & scott@granneman.com comes out) & mapping (similar, but with commands).
- Much easier to create scripts—you just type out the ed commands, save the file, & reference it. Want to change them? Edit the file & save it.
vim does have this disadvantage:
- The 2 separate modes (editing and command) can be a bit confusing at 1st, but you'll quickly overcome that.
On the whole, I just find vim easier to work with & do what I want it to do. If you're a lisp programmer, or someone who likes the 'everything & the kitchen sink' approach of emacs, then go for emacs. Otherwise, I'd look at vim.
vim is available for *nix, Mac OS X, & Windows. There are lots of vimrc files out there that you can learn from & copy. If you'd like mine—not that it's brilliant or anything, but it would be a start—let me know.