I recently spent some time using ed, so much power in that small thing. You also learn much more about vi/vim by using it.
Other than that, vim. I'd use emacs if it weren't for the whole hand strain thing. Maybe at some point I'll make the switch to emacs+viper-mode, mostly because vimscript isn't as cool looking as elisp.