Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> Terminal-based Vim is not like a modern application, yet is more popular than Emacs.

As someone who has started out with vim, spent a couple years using emacs (with evil-mode) and ended up with vim (more accurately neovim) again, here's my take on why this is.

First of all, I ssh into a lot of systems that have vi(m) installed, but not emacs. So, if I am using vi bindings for my main editor, I don't have to switch to using completely different editor bindings on remote systems. For other's that are in a similar situation, that's also an incentive to learn vi over emacs.

Secondly, while vi(m)'s modal editing is difficult to master , once mastered, it is, IMO, amazing. Emacs otoh just has unfamiliar, and sometimes unergonomic key bindings. While many editors do have "vim modes", I have ultimately been unhapy with most of the one's I've tried (evil mode for emacs is ironically one of the best).

Finally, there is the configuration. Both emacs and vim are extremely customizable. While VimL is certainly not the greatest language, it is at least fairly familiar to programmers with experience with ALGOL-family languages. It's also somewhat straightforward to write plugins for vim in other languages, such as python and lua. Emacs otoh, uses Emacs Lisp. And while I admire lisp, it is certainly very unfamiliar to many potential emacs users, and can often be much more verbose, especially for setting custom key bindings.

With all that said, there are things I miss about emacs. Probably the biggest is that several modes let me customize how auto-indentation worked. In vim, the ability to customize that easily is not very common, and when it does exist is not well documented.



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: