Hacker News new | past | comments | ask | show | jobs | submit login
Nearly everyone who is new to Emacs hates it passionately (2014) (reddit.com)
37 points by pcr910303 15 days ago | hide | past | web | favorite | 35 comments

I've used both vim and emacs in various incarnations over the course of 30 years. After all that time, I hate emacs, and I tolerate vim because sometimes I need a remote editor. Are they powerful? Yes. Are they useful for the things I do as a developer? Not really.

For everything not remote, there's sublime text or a real IDE.

I’m not sure why someone would use vim over an IDE with vim key bindings

Sometimes the vim key-bindings are incomplete, or wrong. I moved from intellij to vim with language server plugin because the times where the keybindings did something that I didn't expect, or were not supported leaving me hunting through dropdowns were a pain in the ass.

The other thing to consider is if you are really comfortable in a language, sometimes the lag you get from editing fast in an IDE outweighs the feature set you get from it. Vim is always buttery smooth for me, even in large files and with a bunch of plugins. I can't say the same for other editors.

Finally, having vim from within a terminal means that I can CTRL+Z to all my cli apps to manage the project I'm working in. That combined with backgrounding live-reload for web development, or jumping into a REPL make for a rewarding flow-state between building, executing commands and editing that I've only heard about from Emacs users. As much as it is on topic with the rest of the conversation here, I tried emacs and spacemacs and doommacs a few times, and have never been able to enjoy it as much as jumping between vim and zsh.

VSCode-Vim is much slower than Vim, and lacks plugins like targets.vim.

It also doesn't do Lisp. So that keeps me from venturing in that direction as well. I just use a well set up vim - fast and easy on the eyes.

Spacemacs is a great answer.

No kidding. I don’t understand how people put up with these things. Something like Sublime (which at this point is a category- I’d include Atom and VS Code and likely others) is just so much nicer.

Since this post is about newbies, I’ll add that I’ve been programming professionally for over 15 years and over 20 in total.

I use a real IDE for my day to day programming work. I was forcing myself to use Vim for everything but failed pretty hard.

I heard James Gosling once said something along the lines of: I don’t understand the cult-like behavior of using a text based editor to program nowadays. There is something about the 70s editors that pump up programmers’ testosterone level.

Emacs is a UI paradigm from the 1980s when character-addressable virtual TTYs were an exciting new innovation. Finally I could do something better than Edit and Correct my Tape(1)! It is cruel to teach it to people new to computing when we've had better UI paradigms for 20+ years.

(Before you flame; I'm an old emacs geek and still have the multi-kilobyte .emacs and damaged wrists to prove it. I even had a brief bit of open source fame with an emacs mode for HTML I wrote back in 1994. I've moved on.)

1 https://en.wikipedia.org/wiki/TECO_(text_editor)

The mix of the old and the new seems to be quite the dominant paradigm these days: I'm mostly working on complex web development projects, and using Emacs to seamlessly navigate the sea of mostly text-based environments (JS, Python, PHP, bash, git, docker, multiple configuration environments, etc.) simply proves an invaluable asset. I've tried several times to "move on" (most recently to VSCode, which is really quite good), but I've always been gravitating back to Emacs.

I loved EMACS when I first tried it. Granted, that was in around 2001 and my day job had required using a terrible bloated version of IBM WebSphere Application Developer which would leak 16 megs of RAM every time I tried to open an HTML page, forcing me to completely restart my 640meg Dell several times a day. EMACS, in Terminal.app on the then-new OSX, was so refreshingly fast and light (and comparitively good looking) that I finally felt like I could do some real work for a change.

I know that sounds kind of ridiculous, considering EMACS' history - but you never had to use that vintage IBM JSP suite!

I have never understood this. You only need a handful of commands and you can do anything. Then you can learn a few more as you go. c-f (forward char), c-n (next line) etc...really not much to know.

As for incremental learning: just the other day I was programming with a colleague and taught him a new command. I've only been using Emacs since 1978; he was using it before I was. But even after more than 40 years of emacsing he said, "wow, wish I'd known that command earlier". But even without it he was very productive.

I think people who teach someone emacs by starting out with fancy init files, tons of libraries and by emphasizing programmability etc are doing a big disservice. Its very incremental nature is an enormous part of its power.

My artist wife had Emacs as her first editor and still misses it.

I find it easier to tell people to not focus on learning Emacs's own movement keys to start with. For most, it adds a lot of confusion on top of learning the terminology and idiosyncrasies.

Starting out with the arrows keys first and then slowly incorporating the movement keys into their workflow will let them focus with getting on with what we all use Emacs for, ultimately: gettin' things done.

The second thing I teach them -- and I make a big deal about it in my book -- is teaching beginners how to ask Emacs the right questions: how to look up the definitions of keys, functions, etc. as that is the second-biggest stumbling block: not understanding what something does or how to rediscover that command or key you forgot.

The "hates it passionately" sentiment is not quite right. Emacs is a complex tool which requires time and effort to learn. Most who take the time to learn it see the value of it even if they chose to use a different tool. Nobody expects a lathe to be as easy to use as a hammer and screwdriver.

> Nobody expects a lathe to be as easy to use as a hammer and screwdriver.

Especially for connecting pieces of wood together.

Shameless Plug: I'm doing some Emacs introductory videos on YouTube [1]. It's specifically oriented for newcomers.

I fell in love with the Emacs Doom [2], a distribution made for Vimmers - this way you can draw from two ancient sources of power at the same time... ;)

[1]: https://www.youtube.com/playlist?list=PLhXZp00uXBk4np17N39Wv... [2]: https://github.com/hlissner/doom-emacs

Spacemacs makes it slightly better, especially if you are coming from vim.

A lot better, for some!

As a new user, I love emacs. I've only been using it since the 90s.

As a newbie, a long time ago, I had been exposed to vi and emacs about at the same time. I couldn't find a way to get out of vi. In emacs, there was a small text message that explained how to get help, and how to do a tutorial. I've worked through this, and have been using emacs ever since.

I thought "passionate hatred" was the first step in learning any new editor or IDE.

vscode was honestly my first experience in 8 years of coding where i went - "huh, i don't have to learn much and i don't hate this"

Visual Studio is absolutely amazing and I won't code without it. On top of that, you can always install VsVim if you want some vim functionality while retaining everything that is great about VS (this is what I use).

Ah, you haven't installed a module that decided to override one of the default editing key combinations yet (Ctrl+D, in my case). That was absurdly frustrating.

VS Code has never made me hate it, but I have come to hate configuring it to work with two different languages that have their own REPL simultaneously (Python and PowerShell). Their modules seem to argue with one another or cause the other to crash or hang unexpectedly. It's extremely frustrating.

> With the surge in Vim usage, we really need to do something about the initial experience of Emacs

Um.. It took me 10 years to get over the initial horror of vim, but after that, it was awesome.

Probably, but emacs will always be there for you. You can quit it and dabble with others, but you can always come back and like old wine, it will have gotten better.

I’ve tried to use Emacs as an IDE for Python and Go but I find it hard to find a good tutorial on how to set it up on Windows.

Also, how do I reload the .emacs.d file without completely restarting Emacs?

Run the command “eval-buffer” on .emacs.d which will in effect reload it. Save this as a command in .emacs.d and bind it to some easy key, then you can do it again easily

Install the intellij addon

Opposite experience: I loved it so much that I wasted 50% of the project 'optimizing' emacs. Luckily the next project was group dictated Intellij.

This is a generational gap. To the young, Emacs looks old and smells funky.

It looked old and smelled funky thirty years ago. So unless you're extending the definition of "young" well into middle age, not really.

Notepad++ is my editor of choice.

Windows-only, though, unfortunately...


...that and Nano are the first things I uninstall, despite knowing that "technically" they're supposed to be better than vim. Devil you know I guess!

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