Skip to main content
  1. Posts/

Emacs Vanilla vs Flavors (Spacemacs and Doom Emacs)

·867 words·5 mins·
ebeem
Author
ebeem
FOSS Enthusiast & Indie Game Developer

Where to Begin?

Emacs is not just a text editor, it is a Lisp machine that happens to edit text. When stepping into the Emacs ecosystem, new users are immediately faced with a choice: build from scratch (Vanilla Emacs) or use a pre-configured starter kit like Doom Emacs or Spacemacs. Each approach has distinct pros and cons, and understanding them can save you months of configuration frustration.

The Batteries-Included Flavors

Starter kits are fantastic for package discovery. They show you exactly what Emacs is capable of right out of the box, coming pre-configured with themes, completion frameworks, and integrations for almost every programming language.

However, this convenience comes at a cost. "Batteries-included" setups reduce your visibility into the underlying mechanics. When something breaks, or when you want to change a core behavior, deep customization becomes harder. You often find yourself fighting the framework's design rather than just configuring Emacs.

Spacemacs

imgs/spacemacs-screenshot.png

Spacemacs revolutionized the community by popularizing mnemonic, space-bar-driven keybindings and excellent Vim emulation. However, it relies heavily on configuration "layers."

These layers add a massive amount of abstraction on top of the base editor. While this makes it incredibly easy to toggle features on and off, migrating your configuration from Spacemacs to Vanilla Emacs becomes an extremely difficult task. Because of the heavy abstraction, you end up learning the "Spacemacs way" rather than the "Emacs way."

Doom Emacs

imgs/doom-emacs-screenshot.png

Doom Emacs takes a different philosophical approach. It still provides a beautiful, feature-rich out-of-the-box experience, but it significantly reduces the layers between the user's configuration and the core Emacs configuration.

It utilizes clever macros to keep startup times incredibly fast and maintains a structure much closer to standard Emacs Lisp. If you want to peek under the hood and see how a feature is implemented, Doom makes it highly visible and accessible.

Vanilla Emacs

imgs/vanilla-emacs-screenshot.png

Vanilla Emacs is exactly what you get when you download the software from the GNU website. It is a completely blank slate.

The primary advantage here is total ownership. You understand every single line in your configuration file because you put it there. You learn standard Emacs Lisp, making it straightforward to read official documentation and leverage community packages. The major downside is the steep learning curve. You are fully responsible for setting up your own package manager, user interface, completion frameworks, and language servers.

The Keybinding

Your choice of flavor is often heavily tied to your preferred typing style and hardware setup.

Evil Mode (Vim Bindings)

If you are a user coming from vi or Vim, Evil mode (which powers both Spacemacs and Doom by default) is practically magic. It flawlessly brings the language of Vim text objects into Emacs. However, modal editing can sometimes feel like a second-class citizen in niche Emacs packages, requiring extra translation packages (like evil-collection) to make third-party tools play nicely.

Vanilla Bindings (Emacs Bindings)

Standard Emacs keybindings (using Ctrl and Meta). They are deeply integrated into the entire Emacs ecosystem. Everything just works, seamlessly and consistently without any translation layers.

The common complaint is that they require uncomfortable hand stretching. However, if you use a high-quality split ergonomic keyboard, you can easily map modifiers to your thumb clusters. With good hardware, the chances are high that you will not need anything but the standard vanilla keybindings.

Meow (Middle Ground)

If you want the ergonomic benefits of modal editing without straying too far from the standard ecosystem, the meow package is a fantastic alternative. Packages like meow try to sit right in the middle. It allows modal editing but does not fight the default Emacs environment the way Evil sometimes does, keeping your experience much closer to vanilla Emacs.

My Recommendation

For newcomers to Emacs, I highly recommend starting with Doom Emacs. It offers a polished, out-of-the-box experience that lets you get real work done immediately while showing you what Emacs is truly capable of. Later on, as you pick up Emacs Lisp and learn more about the popular packages, you will want to configure things exactly your way, you'll be well-prepared to drop the starter kit and craft your own Vanilla Emacs configuration from scratch.

If you're already a vim user or just want to explore modal editing, evil-mode provides a fantastic experience. If you want the benefits of modal editing but aren't tied to traditional vim bindings, meow is an excellent alternative. I do believe everyone should learn vim keybindings eventually as they are invaluable when you find yourself on a machine without Emacs. However, as a modal editing package, I prefer meow over evil-mode because it's lightweight and integrates much more naturally with the native Emacs ecosystem. If you type on a solid ergonomic split keyboard, I strongly suggest sticking to standard vanilla Emacs keybindings.

My personal progression went from Spacemacs to Doom Emacs, and finally to vanilla. If I go back in time I would skip Spacemacs, it didn't teach me much about how things work under the hood. My editing journey followed a similar path: evil-mode to meow to vanilla. I am incredibly glad I spent time with evil-mode, as it left me highly proficient and comfortable with vim keybindings.

Useful Resources