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
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.Doom with evil is pretty great so I wouldn’t give up vim bindings entirely. I haven’t used spacemacs before but I really love the doom workspaces setup, it’s really nice if you work in multiple repos often.
Neither. Use basic emacs, do the tutorial, look at package managers. I recommend straight
Try them all out and decide for yourself
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.
Gonna up for the Doom, it’s way more Emacs than Spacemacs
Doom all day. Spacemacs often very brittle, and it’s always slow.
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!
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.
+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.
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.
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
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.
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).I’m curious, what are those limitatiins you mention in doom emacs?
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.
I started with Spacemacs. Switched to Doom. Switched to my own vanilla emacs for a year or two then went back to Doom.
I find Doom’s defaults well thought out. It just works (insofar as Emacs just works). It has sane default bindings and I can just use emacs to get my job done. There’s nothing inherently noble about rolling your own config or choosing a particular kit. Just try them out and see which you enjoy.