Hacker News new | ask | show | jobs
by fddlr 4570 days ago
I'm a recent CS graduate, who only used IDE-s and Sublime Text so far. I have only heard about Emacs and vim when I started my internship. I tried it but it didn't really felt good using it.

Can somebody tell me what are Emacs' benefits over IDE-s and ST for example?

2 comments

Emacs is extremely extensible. Some people use it as-is out of the box and are happy with it, others treat it more like a framework for creating text editors.

Sublime has plugins, but it's nothing compared to the Emacs ecosystem. I can edit code in one pane, manage my git repository in another, have a terminal to run tests in a third pane, chat with a co-worker with Jabber in another, and look up documentation in a browser (w3m) in yet another pane. The merge conflict resolution capabilities in Emacs are also pretty excellent. I'd say they're at least on par with Vim's excellent Fugitive plugin.

Org mode is a thing of beauty. You can write notes (and enable spell checking in the buffer), create TODO lists, spreadsheets, calendars, handle time tracking, and even embed executable snippets from various languages. The coolest Org mode story I've heard is about Avdi Grimm. He wrote a Ruby book in Org mode and embedded his code right in it. With a single Emacs command he could extract the code from the book and run specs against it, and also package the whole thing up as an ebook.

The learning curve doesn't have to be as brutal as depicted in the blog post. I've only been using Emacs for 4-5 months, and I'm already very efficient with it. I've changed a lot of the keybindings to match what I'm already familiar with, so I didn't learn Emacs as much as I made Emacs learn me.

I used Sublime for years before my switch to Emacs (with a 3 month layover in Vim Land). Sublime is really easy to use, and I still recommend it for designers who write a bit of code, people new to programming, and people who just aren't interested in learning new tools. That said, I spend 90% of my time writing code, and it's great to have an editor that can trivially be made to do whatever I want it to.

An addition to great points already made in this thread- in Emacs it might take a while to set up your environment to your liking but once you have done it you can use it for _everything_. From writing code to managing your agenda to writing haikus. As a user of Dvorak keyboard layout that alone is invaluable to me since I always have my shortcuts optimized for Dvorak no matter what I'm doing.