Hacker News new | ask | show | jobs
by burgerz 4679 days ago
What benefits does Emacs have over something like Sublime? All I can see is you can customize a million key binds so you don't have to use the mouse. Sorry but I'm not racing type to as fast as possible when I write code, I don't mind spending an extra second and using a cursor.
4 comments

If you're happy, keep on truckin'.

But to answer your question. This has been said a million times, but here's another angle. In a recent talk, Rich Hickey was talking about the design of electronic music modules:

> In other words, there's a human interface and a machine interface to the same > things. And the machine interfaces were there all the time — in fact, they were > first. And then the human interfaces come. We have to remember that as a > design thing. What's wrong with SQL? What's wrong with SQL is there's no > machine interface to SQL. They only designed a human interface to SQL, and > we've suffered ever since, cause we have to send these strings around. You can > always build a human interface on top of a machine interface, but the other is > often disgusting.

http://www.infoq.com/presentations/Design-Composition-Perfor... (at about 41:00)

Emacs is built on a machine interface first (elisp). Even the mouse actions in emacs are processed with elisp. So the human interface is not hard-wired. That's why hackers like it.

Emacs also binds almost any REPL (Python, Lisp dialects, Erlang...) There's also AucTeX if you need to write TeX (the best thing for LaTeX out there.) Emacs is also completely configurable with emacs lisp: you can write your own "things." For example, I have a mode I used to format posts for my blog: with just a few custom keybindings I had it formatted to my tastes and special CSS rules.

PS: Also, leaving the keyboard easily breaks the flow, specially when you are in the "damn, delete this whole line and start again" frenzy that is just milliseconds away from your neat idea. C-a C-k (this also works in most text boxes in Mac OS, though) is extra fast for this kind of things.

As for leaving the mouse, that's not the point. I'm a heavy emacs user, but my latest dwelling with Go have been using Acme (which is a mouse-heavy text editor) and it is very enjoyable, as a change of pace. But being in emacs is not "for the keyboard" as much as being in Acme is not "for the mouse."

I can't repeat myself enough.

TRAMP mode: http://www.emacswiki.org/emacs/TrampMode

I do plenty of work over ssh, and this saves me the headache of dealing with screens and multiple terminals.

Yup. I don't use tramp that much (well, in the last 4 months I used it daily, but...), but having it is great. Every time I have to edit more than 4 lines in a server I resort to it (if it's less I use nano or vim, because it usually means I'm in a ssh session editing some config file)
You can replicate a lot of that behavior in Sublime, plus you get a full GUI, file browser tree and it's easy to use and customize right away.

I'm not really convinced I should invest time in using emacs.

As a long time Emacs user a "Full GUI" or file browser tree are negatives. They just get in the way. There are alternative (and better) ways to navigate a file system that don't require pop-ups and other types of additional windows.

With Emacs directory navigation you can navigate into archive files such as .tar, .tgz and .zip without having to extract them.

Another Emacs benefit that Sublime may or may not support is that the editor's code can be customized simply by placing cursor at the function and typing a keystroke. Your code is then immediately active with no restarts or reloading.

Emacs works just as well in a OS window on my laptop and remotely running in a terminal. Being able to use the same editor locally and on a headless server is huge if you do server work at all.

You can run bash (or whatever) shells in emacs buffers. The full benefit of this is hard to describe, but once you try this you'll probably use it all the time.

In the end, you'll probably never be convinced by people advocating for Emacs, the best thing to do if you're really interested is to give it an honest try for a non-trivial period of time. Emacs can take time to learn but I think the payback is well worth it.

Completely agree with the payback. I'd never dream of going back to more IDE-like editors
I was not trying to convince you: if you are happy with Sublime, use it.
Personally, I use vim, but you can get a full gui using xemacs and it also is easy to customize with plugins. It also has the advantage that it can run in a terminal over ssh without X (server deployment).
No need to use xemacs, "standard" emacs has also a gui, file browser, etc etc. I use evil in emacs to have some of vims keybindings, btw
Long term Sublime user here. Recently dove deep into Emacs due to a need for Common Lisp arising.

Sublime is an excellent text editor. Emacs is an ancient book of magic spells, with a strange, hoary culture surrounding it. It is phenomenally powerful, and also very, very weird.

I still use Sublime for 'editing text', but for a mixed workflow with compilation, git commands, REPLs and shell scripts? Emacs. I suspect once I finish rolling Emacs into the precise form I want it, I will more or less stop using other tools.

You can also find me complaining about Emacs less than a month ago on this very site, and refusing to use it. It took a lot to push past the completely alien keystroke syntax, including a lot of installing re-binds that change it substantially.
I was an Emacs user back in the '90s. At some point I lost all my custom configuration and never had time to reconfigure.

A few weeks ago, I spent pretty much an entire day configuring Emacs, installing packages, themes, etc....In the end, things didn't really work awesomely. Key-binding issues on my OS X, certain short-cuts not working completely in org-mode, etc... (when not using an external keyboard, I absolutely abhor pressing the "option" key on my MBPro keyboard.)

Then I tweaked out Sublime Text. I appreciated how simple it was to change the themes, and install packages (though with emacs 24 m-x install-package was pretty simple, too), and it seems there's a package for anything (including a super-basic org-mode). And spending $70 on cross-platform closed source is probably worth my time that I save in configuration.

Though, who knows....I know enough VIM to edit server config files, maybe it's time I look into that for JavaScrip/Python development.