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

As someone who came into all this "after" the editor wars and is now using Vim, these were what I understood were their selling points:

- In Vim, you learn how shortcuts work and how they compose, and then you can apply them to a bunch of new situations and "guess" which other shortcuts apply.

- Emacs can do a whole lot and you can customise it exactly to your liking. Oh, and it also supposedly works really well with Lisp.

Not sure how accurate my view of Emacs is, but the Vim selling point has turned out to be true for me. The Emacs selling point just didn't appeal to me. I don't care for having to customise my text editor everywhere I work with it, and I don't know yet what awesome customisations there even are. I also don't use Lisp (though I'd like to, someday, and might checkout Emacs then).



The vim commands are mostly great, they are a fantastic set of hyper-productive defaults we all should learn. One of the reasons is that almost every other editor has the ability to use vim commands.

Evil, the Emacs vim plugin, implements the vim commands plus some popular vim plugins (like vim-surround), and the resulting experience is awesome. I'm a heavy Spacemacs user and the user experience is so well done that it is a joy to use.


> One of the reasons is that almost every other editor has the ability to use vim commands.

Really? It would have to be a modal editor to use vim commands. Emacs commands, on the other hand, could work with the vast majority of editors out there, and actually do work in many cases. readline, for example, which is used by bash and many other CLI programs uses emacs bindings. fish and zsh use them too.


> It would have to be a modal editor to use vim commands.

Or it would have to emulate them. Which is what VSCode, Atom, Visual Studio, Eclipse, Intellij, Netbeans, Kate all do. Those are just the ones I have used, I'm sure there are plenty of others.


That's not a trivial feature that "every other editor" can do, though.

> I'm sure there are plenty of others.

Emacs, for one.


On macOS, the standard widget for text input supports emacs-style shortcuts, too, which means you can use them pretty much everywhere. One of the few things I miss about macOS.


readline and ZLE (and indeed libedit/editline) provide both emacs and vi key bindings.


> Oh, and it also supposedly works really well with Lisp.

Most Emacs users don't use it for lisp (aside from programming the editor if needed).


I don't really know when the editor wars took place or when (or if) they finished, but I started to look for a serious text editor around ten years ago. Before that I was using different "IDEs" for every programming language I used but I knew that it made no sense to invest serious effort into something like Netbeans for Java. I also realised that I was using maybe 10% of the functionality of these tools, and it was better for me to go and look for additional functionality as and when I actually needed it.

So I started with vim. I also was drawn to the whole "composable shortcuts" thing. But I quickly realised that these key combinations were not shortcuts, rather the keyboard is the interface. I was completely sold on using the keyboard to edit text and wondered why on earth we ever forgot how to use it. The rat was banished.

What stopped me even trying to start using emacs was the lack of antialiased fonts. But I downloaded and built a pre-release with antialiasing and was able to try that too. I think it was the emacs concept of major modes that initially made so much sense to me. I then quickly discovered two "killer apps": org-mode and magit. That's how the only love affair I've ever had with software started. Within a few weeks I was learning Common Lisp thanks to being advised that it would make Emacs Lisp easier.

Saying Emacs is good for "customisation" is one of the grossest understatements that is so often repeated around the internet. It's repeated even by people who use Emacs and know better, but it's quite hard to describe what Emacs really is if you've never used it.

Emacs is deeply related to the Lisp way itself. Emacs isn't a text editor. Emacs is a Lisp environment that is particularly good for building tools related to text. Emacs is written using Lisp and Lisp is written using Emacs. Emacs users regularly use Emacs to extend to itself while it is running. Lisp users often talk about this moment of enlightenment that happens at some point when you learn Lisp. It's real and it happens when you learn Emacs as well.

But I feel a bit like someone trying to explain an LSD trip. You just have to see it for yourself. I didn't try Emacs because the above was attractive to me. I tried it because I wanted to learn a general purpose text editor and Emacs had great tools like org-mode and magit. The fact that I got to experience a kind of enlightenment and a feeling of love for software was pure luck.


Well, you explained the attractiveness of both vim and emacs better than I did, so I now better understand why people like Emacs, and I hope this also helps explain to the grandparent why people often try Vim.

Emacs still is not that high of a priority for me to learn (I don't care much for org-mode or non-CLI-git), but at least it's on the list now, so well done :)


They took place in the 1980s and early 1990s. They were rather silly at the time. Taking them seriously now, decades afterwards, is definitely silly.




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

Search: