Hacker News new | comments | show | ask | jobs | submit login
Ask HN: Would you recommend someone to learn Emacs now?
13 points by aryamaan 12 months ago | hide | past | web | favorite | 24 comments
I use JetBrains products for the development. I was wondering if it makes sense to learn and invest time learning Emacs (or vim).

I think for both Vim and Emacs the decision comes down to this: Do you intend to invest in your editor? Not only in the sense of investing time to learn their idioms and acquire some basic muscle memory, but also to configure it to your liking.

Both Emacs and Vim are usable in the default state, but there's much much more you can get out of them. As opposed to most IDEs, which usually have one proper way to use them, both Vim and Emacs thrive on configurability. On the flip side, that means that you're going to spend time setting up and maintaining your config. If that's not something you can endure (or even enjoy), you might want to leave it be.

As far as I can tell, that's also the main reason both are often overlooked in CS classes: The goal of most professors teaching programming is to actually teach you a language, not explain an editor for a couple of weeks.

Isn't the initial learning curve the biggest time suck? I don't know either besides some basic vim commands. But seems like learning vim to the point of it being second nature would take up the majority of time.

That's one way of seeing it. You'll have to keep in mind, though, that you don't need to learn hundreds of Vim commands to be as productive in writing text as before - that's actually rather easy to achieve. So, for me, it doesn't seem like a timesink that much because anything past that point will speed you up. Hacking around in my Emacs config (I'm an Evil user) on the other hand does eat up time. I don't know if it wouldn't be as bad if I wasn't annyed with minor things not working exactly how I want them to, though.

Edit: I'd also say that Vim bindings are something where "learning by doing" is the best way to get going, and I'd assume the same applies to Emacs hotkeys. If you want to use them effectively, you'll want to develop muscle memory for the most common actions, so they are a great thing to pick up while you're actually working on stuff.

Sorry for the late reply. But thanks for your response.

I've used emacs for about... gosh, 18 years now since I first learned it in 1999 in my high school AP CS class.

I'd say the main benefits of learning emacs or vim today are:

1. Exposure to the history of systems they embody.

2. Experiencing the philosophy that customizability should be a key characteristic of your tools and work environment.

For the first, deep use of emacs will teach you about using lisp in a non-academic way; self-documenting systems; modularity; maybe even the unix command line. Oh, and the indisputable fact that your caps lock key should be remapped to Ctrl. :)

For the second, you have a fair bit of customizability in JetBrains but it's nothing compared with emacs or vim. In both of those there is incredible power to modify the behavior of the environment, and the incredible range of ways this power has been applied is a testament to its design.

They taught us Emacs in college... it was clear from the beginning that this was an ultra nerdy and powerful editor and that the "serious" nerds should use it. I drank the cool-aid and used it for a while, but when I graduated I didn't use it again. I just started using what my co-workers were using. I suppose that makes me a bit of a follower on editors, but in my mind, I don't care, I don't get excited about editors.

My advice is to use what everyone around you is using and focus on making cool stuff.

Xah Lee, infamous troll of comp.lang.lisp has a great emacs page http://ergoemacs.org/emacs/emacs.html or the mini-manual http://tuhdo.github.io/emacs-tutor.html

I avoided starting w/Spacemacs or Prelude defaults but you may want them https://github.com/bbatsov/prelude

Emacs you'll find most productive if you live in it, so aside from development where you get your SQLI shell or whatever, also using magit, using pdf-tools to read papers, reading project mailing lists, using org-mode for billing if you're a freelancer, scripting your shell (and now your packages too https://alezost.github.io/guix.el/ ) ect.

The ad homimem is irrelevant and unwarranted.

http://spacemacs.org is Emacs setup that supports both Emacs and Vim keybindings, and it's quite nice.

On the other hand, JetBrains tools are supposed to be very nice.

I'd say pick one thing and learn it well.

I'd say learn Vim. I also use JetBrains products for development, but can find my way around vim and can set it up to my liking. The skill has been a pretty nice timesaver for both me and my colleagues when they need to do something with it.

If you do lots of console works (e.g. script shell, Linux system stuff), learn emacs or vim.

On the other hand if you're a front end Web dev or an Android dev there is probably not much point except from a curiosity point of view

As a web dev who does about 40% front-end, I find vim just as useful there as I do for all he other dev work I do--which is very, very useful.

I have no particular reason to want to jump into an IDE, which I imagine is what you're recommending instead. Vim acts as my IDE without much effort. I have a linter, syntax highlighting, etc.

I won't sing the benefits of vim here since they should probably be well-known in this thread, but editing code without vim movements is, to me, a nightmare.

I'm not sure what you think would be different in another editor.

That makes sense. Thanks for your perspective.

Emacs does some things better and some things worse. There is no Silver Bullet or free lunch. Language support is one of the things it does better than your favorite IDE. If you want to write code in Graphviz's Dot and Standard ML and Erlang and Clojure and C and Python with a consistent user interface, Emacs is a viable option.

Many IDE's also provide Emacs-like keybindings as does Bash by default. The ability to maintain a consistent user interface may or may not be worth the Emacs learning curve. Org-mode is another thing that may or may not be worth the curve.

Good luck.

Yes and no. I generally don't recommend emacs to everybody by default because I've come to realize it's not what everybody wants. Until people want to have a powerful, customizable editor I recommend something pretty and user friendly. Perhaps sublime text, where they can ease into being productive.

That said, I do definitely recommend it to people on a case by case basis (Power users, command line gurus, mouse haters, etc). Those who make it over the initial learning hump tend to really love it.

Yes. If I had to give any advice to young programmers it would be these: 1. Learn to touch type. 2. learn to code in Python. 3. Learn emacs.

replace python with haskell, and emacs and vim, and i'm with you.

I do recommend Emacs for when you are not only looking for an editor. A while ago I wrote up why I really enjoy using Emacs: https://elephly.net/posts/2016-02-14-ilovefs-emacs.html

Not sure. One part of me wishes I hadn't. Once you get used to emacs, working in other environments will get rather annoying. Don't think it makes me that much more productive either. Not to mention the days and weeks wasted customizing it.

I won't be quitting anytime soon, but wouldn't recommend it either.

Only if you want to learn about the greatest piece of extensible software. Most software written nowadays doesn't have the same objectives as Emacs. Emacs unfortunately gives me RSI.

Sure, it's getting better and better, with more exciting functionality builtin and just working, which was in the previous decades just optional and unstable.

Yes. Learn how to use emacs and use org-mode to organize everything. Also, the best way to learn emacs is to use it everyday. Emacs lisp is a powerful programming language too!

Yes. Emacs has the wonderful property of one time investment in time and learning curve that pays off over years to do all sorts of code and non-code editing.

Not using Emacs myself, but read reports of long-time users getting RSI from all the keyboard shortcuts.

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