Top
Best
New

Posted by weakfish 11/1/2025

Ask HN: Where to begin with "modern" Emacs?

Hi all,

I’m a longtime Neovim user who’s been EMacs-curious. The hold up for me has been that I’ve been unable to find a source of truth for what’s top-of-the-line as far as plugins are. With Neovim, it’s a safe bet to look at what folks like Folke are doing, but I have struggled to find a similar figure in the Emacs community who gives insight into what’s-what. I know Doom exists, but I want to fully “own” my config and not over complicate it.

Thanks!

228 points | 121 commentspage 2
noosphr 11/1/2025|
There is no such thing as top of the line.

There are preferences.

Asking where to begin with 'modern' Emacs is like asking where to begin with 'music'.

Just use stock until you find something you like better. It is one of the few pieces of software left where taste is king and there are no right answers.

sinker 11/1/2025||
I recommend starting with vanilla Emacs and just adding things as you find the need for them. Emacs comes with a lot of things OOTB. After a decade, my only essential package addon-ons are magit and yasnippet.

I have other packages installed, but they're esoteric for my own purposes.

mijoharas 11/1/2025||
I've been using emacs for a decade by now.

I'd look into spacemacs (what I use).

It's similar to doom, in that it makes some decisions for you, but you can very much have a customized experience.

I for instance have a lot of "stock" sections, and other things that are very customized that I've made myself.

Look into the "layers" (sets of packages that work together). I'd particularly recommend checking out the compleseus layer, which is a composition of consult, orderless, vertico, and embark.

They're all built to be composable (selection, pattern matching, selection interface, and context menu respectively), and they each add up to a brilliant emacs experience while reusing emacs' built-in frameworks (completing read). It's an alternative to helm and ivy (I've used each before).

The reason I recommend spacemacs (I'm sure doom could be the same, I just didn't know it) is because it is an easy way to see what packages other people find useful and how to use them, and it has similar conventional across different packages (so you can run tests in the same way no matter whether you're using rust, or python or whatever other language).

uutangohotel 11/1/2025||
https://github.com/jamescherti/minimal-emacs.d is a great starting point for owning your config.

On macOS: Install from emacs-plus in Homebrew

On Linux: Install from your distro’s pkg manager.

kleinishere 11/1/2025|
Came here to find this. MANY upvotes.

I used Doom for a couple months.

Then started considering a vanilla eMacs. I started taking notes on packages I found highly recommended and interesting.

Then I found this. And the author has done all that work and then made it into a “let me walk through a config” including a lot of the most recommended packages and sensible configs.

Gives you the lesson of building a config, knowing what’s in your config, and then being fluent in changing it.

He also has more notes on his blog about the packages + more : https://www.jamescherti.com/essential-emacs-packages/

And I now feel comfortable making changes myself.

flexagoon 11/1/2025||
+1 to just use Doom. Even if you disable all of Doom's extra modules/plugin configurations, it still includes a lot of emacs black magic that makes emacs much faster. It's very slow without that.
PessimalDecimal 11/1/2025||
The question is about Emacs configuration, but the keybindings might also be unfamiliar if you're coming from Vim. When I was learning I printed https://www.gnu.org/software/emacs/refcards/pdf/refcard.pdf and taped the two pages to my desk right in front of the keyboard for probably a 3-4 weeks. It was useful and also felt great when I didn't need it any longer.
HoardBand 11/8/2025||
Former Vim user here - made the switch to Emacs last year.

My advice: start with vanilla Emacs + use-package for plugin management. Don't jump into Doom/Spacemacs right away.

Essential packages I'd recommend: • evil-mode (if you want Vim keybindings) • magit (best Git interface ever) • company (autocompletion) • projectile (project management)

The key is understanding how Emacs actually works (buffers, windows, frames) before layering on complexity. Once you get that, everything clicks.

Good luck with the journey!

asciimov 11/1/2025||
Are you looking for an ide experience or just a text editor with some options?

If a full IDE is what you are seeking go with DOOM. It will give you a fully put together experience.

If you just want a text editor that you want to slowly add to go vanilla.

Doom is like getting a fully furnished apartment where you can choose the furniture and curtain colors. Vanilla is an empty plot of land that you need to build a foundation, house, and connect to city services all on your own.

krowek 11/3/2025||
I was in the same boat until a couple of months ago.

Long time vim/neovim user, used fennel to configure it lastly, but I wanted to see what Emacs has to offer to compare.

I started by reading Mastering Emacs by Mickey Petersen and from there start adding things that I felt I needed (configure key bindings, project.el, eglot, LSP things, helm, corfu, vterm, flycheck, etc)

I still have things to do, but I'm not in a hurry, I'm quite comfortable with Emacs right now, so will approach them shortly.

There's also Protesilaos' Stavrou channel on YouTube with a good amount of videos covering Emacs' topics in depth. I highly recommend them.

(Btw, I still don't know what Vertigo and Consult provide, but I can navigate through files, text search and replacement, functions and all with comfort, so not sure if I'm missing something.)

skydhash 11/3/2025|
> I still don't know what Vertigo and Consult provide

Emacs have this whole completion things, but it’s a bit bare as it’s somewhat similar to bash completion (a lot of tab-bing). Vertico add incremental completion and present the candidates in a vertical list, so it’s more like filtering than completions.

Consult provides a lot of collections for completions and some niceties on top of some existing completion sources. Two of its main features are narrowing (kinda like selectibg a subcollection) and asynchronous sources (you can have something like ripgrep powering the sources of completion candidates).

grg0 11/1/2025|
My Emacs setup typically involves:

- An LSP: https://emacs-lsp.github.io/lsp-mode/tutorials/CPP-guide/ - Neotree to browse the file system: https://github.com/jaypei/emacs-neotree - Awesome-tab for tabs: https://github.com/manateelazycat/awesome-tab

If you want more, look at the extensions section of the LSP page and then go down the rabbit hole.

I likewise do not use Doom or any of the bundled variants because I want full control and understanding of my config. But those variants are still useful to learn what's out there and selectively add things to your mix.

theflyinghorse 11/2/2025|
Using tabs requires so much discipline imo. I just end up having 2000 tabs open, and so I chose to not have tabs at all.
More comments...