3 ms·
My advice at this point is something along the lines of "use Doom," because all that time you would normally put into wrangling evil into doing what you want it
by nonbirithm 6y ago
My advice at this point is something along the lines of "use Doom," because all that time you would normally put into wrangling evil into doing what you want it to would instead be offloaded onto another person who makes wrangling Emacs in general his hobby.
It's like the small things such as binding C-u to scroll up by default are taken care of for you out of the box. How many people who use Evil who are already familiar with Vim are going to not end up setting that configuration option in plain Emacs at some point? (Maybe those who use page up and page down, but not even those commands do the same thing as C-u and C-d, at least in Evil.) Everyone else will have to add that line to their config, and that quickly gets unmaintainable if what you actually want to do is focus on work instead of building a proper Emacs framework. So it is set for you already.
Doom is basically that for Evil configuration and several thousand other things.
One downside is having to undo some of Doom's built-in things if they're annoying. One example of this is having to insist that it uses a specific set of completion handlers and not globally set a hardcoded list for every mode. Still, the amount of time you'd have to do this is less than the amount of time it takes to build 30% of Doom for just the features you want from scratch.
And yes, it is at times a sad feeling needing to fall back on someone else to do the hard work for you, but the realities of work and limited free time essentially dictated that decision for me.
- modernerd 6y agoThank you, that's helpful, and I recognise a lot of the pain points and pluses there. I started with Doom, loved it, but wanted to understand Emacs better so ended up writing my own config. I now understand Emacs a _little_ more, I know what every line of my config is doing, and there isn't an extra layer of abstraction or opaque bash commands I have to periodically run. I also feel more comfortable that Emacs with a home-grown config will last me 10+ years. It's incredible what Henrik has achieved and the level of dedication and support is astounding, but I wonder how sustainable it is as the community inevitably grows. Rolling my own setup has certainly made me appreciate Doom a whole lot more, though. And it's hard to shake the feeling that I could spend a year or two just hacking on Emacs to get half of what Doom offers. It's like the trap of wanting to get into game programming and finding yourself writing a game engine instead of a game. (I picked up Emacs to learn Clojure and other Lisp dialects better.) It's also a little silly to have an expectation that I need to understand everything that Doom does behind the scenes. I don't have that expectation with Emacs itself, or with IntelliJ or vim, or VS Code… Maybe the answer is to just read the (smallish) Doom codebase to understand it better and contribute however I can, be it in Discord, with cash, or PRs. And get back to hacking instead of hacking Emacs…