I switched from VIM to emacs. While a lot of the nice things in emacs can eventually be backported into vim, I think the extensibility and apples all/most of the way down approach of emacs is superior. Even after using it for 6 years, I'm continually astounded by the things people do with it.
I've just discovered pabbrev-mode for js and ruby editing. It's off the hook.
Also once you've coded with a repl in an inferior shell buffer, you won't know how you ever did without it