Trying Doom once again
May 8, 2023
Almost a year ago I already tried to start using Doom config which I eventually replaced with my own vanilla config.
Today I decided to try it once again. I also wanted to use it in Evil mode to make my hands feel better.
One of my main pain point with someone else’s config is that I don’t know how to handle it, what options are available and why things work in the way they do.
Since I was on my own config for quite some time I believe I know enough about Emacs configuration to attempt Doom config once again.
First impression
Well, it’s not first. If I’m not mistaken it’s my third or fourth attempt to use Doom.
So far it feels ok. I ported some configuration from my vanilla config. Added packages I need and things seems working smoothly.
It’s interesting to see that Doom preferably switched to project
mode instead of projectile
at least this is what I see
based on keybindings that are set for project
mode and no keybindings at all for projectile
.
My custom org agendas and some other custom functions were ported with just simple copy-paste technique.
What I like
- It’s really great to see the
M-x doom/help
exists. Everything is documented or at least most of the things. - There is also
M-x doom/help-search
which is very useful when you need to find a specific help.- The documentation can be improved probably. There is no info about how to change
evil escape sequence
to something different from default. At least thedoom/help-search
mentions theevil-escape
package which user then can google and find how to change that escape sequence.
- The documentation can be improved probably. There is no info about how to change
- I love doom modules. Community has already spent good amount of time tweaking every module and in most of the cases I don’t need to do much to reconfigure it.
- LSP module is nice and works with Eglot. What’s great is that other modules (like PHP for example) already aware that LSP module can use Eglot and when I open a php file my Eglot just starts and works.
- Evil mode and all keybindings that already configured are incredible.
- General look and feel is way better than I could achieve with my vanilla config.
- Org looks great and evil keybindings are very nice configured.
- I like the way configuration works and some useful macros provided by Doom
What I need to understand/change
- Documentation is sometimes lacking. That’s hopefully something I can help with.
- I don’t like that LSP/Eglot starts automatically. I do believe “start automatically by default” is a good choice though.
- There are no projectile keybindings and there is no my favorite
projectile-run-vterm
. Easy fix though. - I don’t really understand a point of
+vterm/toggle
. It works great in one project but when I open a second one then this function still opens up the vterm that belongs to that first project. doom/reload-theme
- probably doesn’t work on my end. When I setdoom-theme
variable to something else/non-default and then callM-x doom/reload-theme
nothing changes. I have to useM-x consult-theme
to actually change a theme.- I still need to figure out how to use
after!
. I initially thought that this macro’s first argument is something that is mentioned ininit.el -> doom!
call but apparently I should specify an emacs package name there.
Conclusion
In general, I love the feeling. It took me almost no time to get used to vim keybindings and keep coding like nothing’s changed. Probably my vim past is already too deep in my muscle memory. I’m glad my emacs past is also quite deep so I feel like I can seamlessly switch from one way of editing to another.
Feel free to contact me for feedback or questions. Find my contacts on About page.