Hacker News new | ask | show | jobs
by fileeditview 6 days ago
A bit of advice to people that have the urge to try Emacs.

Do not use a distribution. Yes I know.. you have read that before and then you used Doom or Spacemacs anyways. That's me in the past. And it never worked out for me. I always ended up trying to configure things and the whole setup was too complex for me, so I failed.

Over the last 10 years I have been a heavy (n)vim user but I tried Emacs multiple times. Always a distro. It never worked out. Now over the last year I was trying Emacs with a vanilla setup and configured everything from scratch. With the AIs this is super simple because they can help you get out of config trouble.

The experience was way better than before. After my one year experience I have switched back to neovim but I still have become a fan of Emacs and I have adapted my nvim config. Stuff like dired, magit, compile-mode I have found equivalent nvim plugins and use them now.

7 comments

Agreed. Work through the Emacs tutorial to find out how vanilla editing works. Then look at buffer management, window management (Emacs 'windows' are actually more like frames in other apps) and simple tooling like search. Then start to tweak some settings in your config, find the bare minimum of packages you need to scratch your worst itches (for me: Vertico, Corfu, Avy and Dumb Jump). Finally, figure out tree-sitter modes, project/projectile mode and a couple of other foundations.

It will be a struggle. It was around 2 months before I felt remotely comfortable in Emacs. And nearly a year before I really felt at home. It's a long road, but gradually you mold the editor to yourself so tightly that you'll never be able to go back. The remarkable thing is that the progression never stops. The tool just keeps getting sharper and sharper.

Yep. I also forgot one important point. If you come from vim, like myself, you should probably use evil-mode right from the start and then just get used to a few important Emacs shortcuts over time and use them additionally to your evil keymaps.

No one will ever convince me that there is something better than vim mode for editing text (or comparable modal editors).

I was a huge skeptic of evil-mode/modal editing for about a decade and a half. Then I bit the bullet when I switched to Spacemacs in ~2017 and I am a full convert. The "change-in-<delimiters>" functionality alone is worth the price of admission/climbing the learning curve; the rest is a huge bonus!
>(Emacs 'windows' are actually more like frames in other apps)

I dont use your "other apps" enough to know exactly what you mean, but it gives me the urge to point out, "Emacs 'frames' are actually more like windows in other apps" :)

Seconded. If you want to learn doing things the Emacs way, I recommend the Mastering Emacs book by Mickey Petersen who roams among these threads. It is excellent.

https://www.masteringemacs.org/

This provides an excellent base and exploration of the builtin packages, then you can customize your experience on top and make it your own.

I bought a copy of Mickey's book, and it's great, but "read about the inner workings of an editor before you use it" is horrible UX.

Better to just start using it, and ask your friendly local LLM when you need help. Back in the early 2000s, I think I used emacs for 3 or 4 years knowing only how to open/save/close files, switch buffers, undo, and quit.

> but "read about the inner workings of an editor before you use it" is horrible UX.

You can start using it without reading, but the UX does not follow common patterns like found in Notepad or VSCode. It is its own thing and reading the tutorial, Mickey's book, or the official manual is way faster than fumbling around. Even my bluetooth speakers came with a manual.

>the UX does not follow common patterns like found in Notepad or VSCode. It is its own thing

I know. Emacs is my daily driver.

>reading the tutorial, Mickey's book, or the official manual is way faster than fumbling around.

Hard disagree. It may be more efficient in terms of total time spent, but you can learn 5 commands and start using emacs immediately.

Compared to spending multiple hours reading a book or, worse, the manual, I know which one I'd choose.

> Compared to spending multiple hours reading a book or, worse, the manual, I know which one I'd choose.

Why multiple hours? You can always skim it.

There is a middle ground -- https://codeberg.org/ashton314/emacs-bedrock or minimal starter kits like it.

Especially if you don't want to use an agent to help you get started. If you're using an agent, starting from vanilla is much more feasible.

There are some good tutorials on youtube to start from zero. E.g. "Emacs from scratch" by System Crafters.

I only started using an AI to help fix issues or understand configuration problems when my config was already >1000 lines.

But yea there are several ways to approach this :)

Yikes, that's over 12 hours of videos in that series. Stuff like that scares me away from trying it out.
I understand that. It's very slow pace. I did it bit by bit over several days. But I was also often skipping ahead.
Good recommendation, you (the reader) may also like https://github.com/jamescherti/minimal-emacs.d
Interesting. I started on spacemacs and never left. My spacemacs is super pimped for the things I want. It feels like if I rolled my own I would end up with something like spacemacs, but not as good.

So I guess you and others here have had the experience of building something that was your own that felt better than the distro?

For me it was mostly that these distros overwhelmed me and I could not get into their code. I had to "start small" if you want. Also I encountered troubles regularly because some things did not feed my needs.

I am not saying they are bad, just not for me.

And I think they make it somehow harder to discover the true power of emacs: bending it to your will & basically forging your own custom environment, not only for editing but so much more (git, mails, pdfs,...).

Emacs guy since '97, strongly agree. If you build your own config, the Ikea effect takes hold and you feel like you've made something that's "yours", even if it's mostly cutting and pasting (or using AI) to cobble things together.

I think bedrock is reasonable, and so is Prelude (https://github.com/bbatsov/prelude). I used to have a sprawling init.el, but these days is pretty compact (236 lines), mostly using straight to install packages and then configuration for gptel, agent-shell, and various hydras (https://github.com/abo-abo/hydra) to quickly execute various functions.

I have been using an unstraigtened version of Doom Emacs, and had a lot of issues with the behavior on wake. It turned out the underlying rendering technology was faulty and changing to pgtk fixed it. Sometimes going back to basics forces discovery that is transferrable, like distro-hopping tor DAW switching.
GNU Emacs from gnu.org is usable without an init.el or any other customization.

Every line in init.el is something that you have to maintain and move with you.

And when you're using someone else's computer, their init.el won't be what you expect.