I know that here was the same question. Which one should i use if i want to forget all vim keys and use only emacs features(no evil mode), i want to use only emacs, no vim anymore!
I’ve tried both for about 6 months each - it was a decent way to discover new packages. I lean towards spacemacs (I had less problems) just be sure to use the development branch. In the end I dusted off my old config and started adding the packages I liked. Troubleshooting doom or spacemacs is harder than plain emacs when something is misbehaving (better docs, larger community). I’d als suggest using emacs 29, feels a lot more snappy that 28 and use-package is pretty nice.
Check out system crafters guides on emacs on YouTube when you decide to start rolling your own configs.
GL
I started with vanilla emacs and have stayed there. That way, you learn all the original controls and options. Then when you’re ready to configure it to how you want it to work, you can pick and choose what you want.
I started with Spacemacs, and became captivated with the idea of Emacs, but then I became overwhelmed by all the layers upon layers of complexity that were in Spacemacs. I’m the kind of guy who, when I have a problem to solve. I Google it. I don’t like reading documentation full of other jargon that I have to look up yet again endlessly. So when I Googled my questions, I found people asking in plain English the kinds of problems I had, and people answering with the correct terminology that I hadn’t heard before, but I was still lost in applying that new info for a Spacemacs config. Heck, I often found people asking for help here on this subreddit for their Spacemacs config, and mostly when I found was people pointing them back to their own Spacemacs community for support since Spacemacs is almost an entirely different beast than Emacs as far as troubleshooting goes.
Then, I heard about Doom Emacs. It started up faster and was easier to start being productive in it sooner. It didn’t have the feature set of Spacemacs, but that was fine. I just wanted a stable base to work off of that didn’t have the insane defaults that vanilla Emacs has. The learning curve for Doom Emacs was much shorter than Spacemacs. The syntax for configuring various parts of an Emacs config is basically the same as vanilla Emacs but with adding an “!” at the end of a bunch of things, which allowed for mostly optional extras. And once I got used to the fact that, when I wanted to install a package, I’d first check to see if it is mentioned as a commented-out line in my
init.el
file. If not there, then add it to mypackages.el
file with no configuration there, contrary to how most package installation instructions seem to show that you can configure the package in the same place where you install it. All package configuration happens in theconfig.el
file. Doom Emacs does handn’t keybind configuration a bit differently than vanilla Emacs, but once you set up a few of those in yourconfig.el
file, then it’s easy to continue following your own example from then on.Other than that, I’ve found that by using Doom Emacs, I can better make sense of vanilla Emacs questions and answers I find online. But with Spacemacs, I always felt like I was isolated and on my own unless I wanted to post a question to the Spacemacs community specifically and wait.
Honestly, start with Doom to just get a feel for emacs. Eventually, you might get annoyed with some of its limitations when it comes to customizing your setup.
By the time you reach that point you’ll have an idea of what can be done with emacs and this is where you finally make the switch to vanilla.
You can even make it so you have your vanilla stuff in a separate folder, so you can make it more usable bit by bit, while still having access to doom.
I’m curious, what are those limitatiins you mention in doom emacs?
Emacs 29 introduced the
--init-directory
command line option, so you can have completely different Emacs instances that don’t interfere with each other, loading different modules, ui and what not. You can simply create a shell script for each one and play with different flavors of Emacs. I’ve done it for example when I changed my completion system from ivy to vertico to see if I liked it (I did).
Try them all out and decide for yourself
Just an observation.
In the responses to the question here, there is close to zero actual comparison of Doom and Spacemacs features or behavior, or mention of specific benefits of one or the other.
Most of the response content is essentially voting - rooting for the colors of one team or the other. Maybe OP finds that that helps somehow; maybe not. (If it does, what a pity.)
Dunno what this indicates. Maybe it says something about Reddit, or about the nature of such questions, or about Doom and Spacemacs fans?
I really don’t know. Just a weightless observation. And maybe after I write this it’ll (hopefully) be proven wrong.
Just an observation.
In the responses to the question here, there is close to zero actual comparison of Doom and Spacemacs features or behavior, or mention of specific benefits of one or the other.
Most of the response content is essentially voting - rooting for the colors of one team or the other. Maybe OP finds that that helps somehow; maybe not. (If it does, what a pity.)
Dunno what this indicates. Maybe it says something about Reddit, or about the nature of such questions, or about Doom and Spacemacs fans?
I really don’t know. Just a weightless observation. And maybe after I write this it’ll (hopefully) be proven wrong.
GNU Emacs is configurable for a reason. Don’t use those complete garbages.
The configuration should be made by you. It’s really not that hard, just start from the tutorial.Neither. Use basic emacs, do the tutorial, look at package managers. I recommend straight
GNU Emacs is configurable for a reason. Don’t use those complete garbages.
The configuration should be made by you. It’s really not that hard, just start from the tutorial.i want to use only emacs
then you should use vanilla.
The Emacs Editor | Emacs Docs
Write Articles, Websites and Books with Emacs Writing Studio
GitHub - SystemCrafters/crafted-emacs: A sensible base Emacs configuration.
Gonna up for the Doom, it’s way more Emacs than Spacemacs
I found this one https://sr.ht/~ashton314/emacs-bedrock/ and has been using that (with some of my own mods for development) but a really good base to build on Only emacs 29
My vote goes to Spacemacs. Doom is fine and comparing them is not very useful because they give you by default almost the same packages.
Not only that, they also don’t restrict you to add more packages, you can totally add all Spacemacs packages to Doom and all Doom packages to Spacemacs.
Why Spacemacs then? Because it does in my opinion more heavy lifting than Doom. Examples:
Doom doesn’t turn off the quit dialog of Emacs by default, Space does
Space adds more shortcuts through auto-evilification than Doom (notably Space gives a bind to org-time-stamp-inactive and Doom doesn’t)
Space has a little better documentation than Doom; some packages in Doom have pages but lack configuration and usage sections
Now, all of these can be addressed in Doom, but Space wins for me because I don’t have to do the extra steps. And if you’re going to make me learn your way of configuring emacs, I want you to then do more work for me so I just add a few packages, change a handful of variables and I move to learn the shortcuts.
My answer for op is use Doom, I personally think it’s more polished and the best end user experience with someone not so experienced.
And now, a rant for why I completely disagree with people here who just recommend Vanilla. Starter kits are there for a reason. It is painfully hard for a new user to start out on GNU Emacs and get everything they want running and if they are not patient, they will outright quit.
I tried it and quit in less than a month. Then I tried Spacemacs and I loved it. I used it for a few months and then I wanted to customize things my way more and used vanilla, which is what I’ve used for the past 3 years. Right now, I wouldn’t use a starter kit even if I was paid to do so, because my vanilla config has too much stuff I like and the premades have a lot I don’t like. But I would never have become a power user if I didn’t start from a starter kit. Just because you guys use it (and you do well to do so) doesn’t mean it’s beginner friendly. In my opinion, it’s one of the most beginner hostile pieces of software out there. And I love it and wish they never change that, because being the blank canvas it is, it allows you to make virtually anything in it. But that’s once you learn the basics and it doesn’t slow you down just to use.
If OP is looking for an editor with nice defaults and nice customization then I’d agree, use Doom Emacs.
If you have very specific preferences, or simply play around and have fun a bit with editors and tooling, then going with vanilla is the best option.
And now, a rant for why I completely disagree with people here who just recommend Vanilla. Starter kits are there for a reason. It is painfully hard for a new user to start out on GNU Emacs and get everything they want running and if they are not patient, they will outright quit.
I agree a lot with this!
I used vanilla emacs for 7 years before trying out both spacemacs and doom for a few weeks. But moved back to vanilla with my own config since I learned little elisp by this point. I would suggest emacs starter kits that don’t deviate too far from vanilla.
+1 as someone who went from maintaining my own emacs config to just using doom. I’m really happy with it
+1 I switched back and forth between doom and spacemacs for a while. At the end, I stayed with doom for its simplicity and nice defaults. The development restarted after a long pause, and nice things are planned for the future.
It is painfully hard for a new user to start out on GNU Emacs and get everything they want running and if they are not patient, they will outright quit.
I don’t know man; I started some 20+ years ago with vanilla and for the first like almost 20 years I had no more than perhaps 20 - 30 lines of elisp in my .emacs file.
I used it so until some ~3 - 4 years ago when I got more interested in Emacs and started to learn Elisp and tinker around with it.
I have had pretty much the same path as you, and playing around with Emacs lisp is super fun.