Hacker News new | ask | show | jobs
by krylon 2881 days ago
> use the direction keys, it's not the 70s anymore.

In my experience, the fact that I can navigate a file without taking my hands off the home row far outweighs any disadvantages hjkl might have.

With emacs, the big point is that you can do so many things in it that you never have to leave it; that also means once you have the keyboard shortcuts memorized, you can use them everywhere - besides editing text, emacs can serve as a mail client, a web browser, an IRC client, a music player, telnet/ssh client / terminal emulator (kind of), you can even play Nethack in emacs.

You can't expect to become fluent in emacs within a couple of minutes, but if you are willing to stick around, the time spent learning emacs pays off big time.

2 comments

> that also means once you have the keyboard shortcuts memorized, you can use them everywhere

That's half of the benefit.

The other half is, in Emacs things compose and interoperate. That fancy autocomplete plugin you just installed? It will work for suggesting e-mail addresses just as well as for suggesting function calls in code. Multiple cursors? Regex search-and-replace? Keyboard macros? They work everywhere, whether you're writing code, exploring the filesystem, composing e-mails or tweeting/tooting on Mastodon.

That's the reason many people, myself included, try to move as much of their workflow as possible into Emacs. The right thinking is this: Emacs is an application platform for everything that uses text (or can be made to use text), and has much better defaults and interoperability capabilities than your regular operating system.

As great as that is, though, they're all advantages that won't become relevant until you've really learned emacs, and won't become really advantageous unless you're comfortable enough with emacs that you're willing to commit to it.

In other words, its not stuff that's going to drive adoption. The ggp has a point about emacs having a higher barrier to entry for complete beginners.

But having to spend a lot of time getting familiar with some tool, language or framework is not unusual in IT/Programming. Think of C++, or the .Net framework. When programming in C#, I spend at least 1/3 of my time browsing the API documentation or StackOverflow, TechNet, etc.

With emacs, as with C++ or .Net, the idea is that the effort to get familiar with the environment pays off big time after a certain point.

If somebody asks me (that happens almost never, though), my reply is to tell them about the long term-benefits of using emacs and to give both emacs and vi a try and decide what they like better. And that emacs vs. vi is not necessarily an either-or-decision. I use emacs as my main editor, but I often find myself editing config files using vi. I prefer emacs, but vi/vim is an excellent editor, too. More generally speaking, if somebody tries to frame something like the choice of editor as an either-or-question, consider if a-as-well-as-b is a valid answer, too.

Fair, though, I think the story is a bit different with editors. Ultimately they're just a means to an end (editing code), and it's obviously true that plenty of people are able to work successfully with either of them, so you can't really fault people for just picking one to learn and going with it. Learning both intimately enough to make a serious comparison is a time-consuming prospect.

I'm also inclined to say that, unless you work in a Windows shop, there really isn't any either-or to it. vim is, at this point, so pervasive that I think the real alternatives are either "just vim" or "emacs and at least a little bit of vim".

> you can't really fault people for just picking one to learn and going with it.

I do not. Maybe I was not clear enough, but I made the point in another comment that I totally understand why somebody would choose vim and never look back. I used vim as my editor of choice for a couple of years, and I cannot deny that it is an excellent editor. I still use some flavor of vi on a regular basis, even on OpenBSD, where mg (a lightweight editor that copies emacs' default keybindings) is part of the base system.

> In my experience, the fact that I can navigate a file without taking my hands off the home row far outweighs any disadvantages hjkl might have.

In my experience, most (if not all) of the people who use Vim or Emacs are programmers — and I am including sysadmins etc. in the wide category of programmers — and a programmer typically spends far more time thinking about what to type than the actual typing[1]. So I don’t see how the speed of typing is synonymous with productivity.

[1] Unless it’s a Java programmer — they spend most of their time typing — just kidding.