I'll crosspost what I wrotw about Doom Emacs on Reddit:
-----------------
> The killer feature of Atom to me is its ability to tell you what commands are associated (or erased) for a keybinding you are pressing, live. It is very practical to debug keybinding issues and I wish more editors had it. Other editors feature similar stuff, but not quite as good as this echo mode for keybinding.
Btw, for Doom Emacs this is accessible through the help interface.
`SPC h k ` will open up the manual page for that function, with a description, list of keybindings, argument list, and at the bottom, full code listing where you can jump to references including callers/callees and examine the code in-situ if you need.
`SPC h b b` will allow you interactive search through Doom Emacs bindings and bring up the same as above, and `SPC h b` exposes other neat things like keymaps for the current major-mode, etc.
---
Honestly, I have been using Vim constantly in various forms -- GVim, Vim, Vi, ex-vi, Neovim, etc. (Even ex and ed(1) for a little period) for about 8 years. I discovered Doom Emacs this July, and gave it a few hours. Then I kept on giving it a few hours. A week later I hadn't boot up vim for a week. With Vim, there was always a barrier around writing extensions -- it never really felt like it was meant to be integrated with them. The single best Vi experience I've had wasn't with Neovim, it was with ex-vi. There were some sharp edges but the interface felt orders of magnitude more clean than I was used to.
I had tried Emacs before but Spacemacs was poorly integrated -- I tried using package-install and I was dumped into a buffer with no evil-mode bindings. And learning Emacs was a hilarious nightmare. Just look at these amazingly terrible commands to know how horrible that was[0], the last straw was when I tried to undo using `C-x u` (I think?) and it undid one character at a time!
Two things sold me on Doom Emacs - the support, and the feeling I get when using it.
* The support is amazing, I can't even begin to comprehend how much the maintainer, Henrik, works at it. He has a well-developed system on the discord where you can hit up one of the assigned channels (how-do-i or troubleshooting are the main ones as a newbie), tag \@helpme, and you will get seen quickly. He stays up until 2 am some nights answering support requests, and has put a lot of work into `doom doctor` so there are some rudimentary diagnosics included. It is by far the most pleasant and memorable support experience I've ever had with any piece of software in the 10 years I've been programming, and I have a huge amount of respect for him.
- The feeling I get when using it is harder to quantify. I'll attempt to quantify the 4 or so years I spent digging into hacker history in the following comparison:
- Vim - Editing becomes muscle memory, so you don't need to think. You can sit down at a computer and be sure it has some variant of Vim that you can use almost like normal.
- Emacs - The editor grows around you, as you customize it to your taste. You're taking an editor built on a language, and altering the code, patching in improvements. Each Emacs instance is totally unique, and can rarely be used by another Emacsen (I actually vaguely recall reading/hearing of a joke where it was implied the Emacs instance and the beard grew into each other).
Doom Emacs, for me at least, is the perfect blend of the muscle memory interface power of Vim, and the "block of clay" feeling I get from Emacs.
[0]: https://www.gnu.org/software/emacs/manual/html_node/emacs/Ch...