<-- back

Trying Doom once again

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 the doom/help-search mentions the evil-escape package which user then can google and find how to change that escape sequence.
  • 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 set doom-theme variable to something else/non-default and then call M-x doom/reload-theme nothing changes. I have to use M-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 in init.el -> doom! call but apparently I should specify an emacs package name there.


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.