Top
Best
New

Posted by weakfish 2 days ago

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!

214 points | 114 commentspage 2
tmtvl 2 days ago|
Start by just opening it up and clicking on 'tutorial'. After that check out Options->Manage Emacs Packages and see if anything interests you. After that check out Melpa (<https://melpa.org>). Finally you can check out what other people do, for example Prot (<https://protesilaos.com/emacs/dotemacs>), you can look at Doom's source,...

You're basically about to go on a journey to a country you've never been, so my recommendation is to just read up about it and see if you find some things you want to experience.

krowek 21 hours ago||
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 20 hours ago|
> 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).

e40 2 days ago||
You didn't say which platform you're on. For Linux, just use the emacs that comes with the distro. For Windows, download the official build for Windows. For macOS, I used to use emacsformacosx.com's version but now I use Homebrew's emacs-plus. It has a native-compiled version and is hella fast.

I use the regular package manager for emacs (package-install).

Been a user since the first version of GNU Emacs, back when RMS was trying to reproduce Gosling's emacs (which I used for a couple of years). That was the early 80's.

rcfox 2 days ago|
> For Linux, just use the emacs that comes with the distro.

Are the major distros shipping packages with tree-sitter support yet?

baobun 2 days ago||
Yes. All of them.
noosphr 2 days ago||
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 2 days ago||
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 2 days ago||
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 2 days ago||
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 2 days ago|
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 2 days ago||
+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 2 days ago||
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.
asciimov 2 days ago|
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.

More comments...