As a long time Emacs user, I feel that this is slightly unfair. When I first started out, I found that my documents from Emacs were far more common than in other editors. It took me two years to realise that I was often bumping C-t where trying to hit C-r or C-y and silently transposing two characters. In over twenty years of Emacs usage, I have never once used C-t on purpose. I feel that this perfectly matches the "keybindings triggering random stuff" experience and it is fully there in vanilla Emacs.
With twenty years of experience, I have my own, esoteric init file that I would not recommend on any newbie. However, I personally feel that Emacs has succeeded despite its default keybindings.
This is funny to me because, while I'm not an Emacs user, I'm a Mac user who's gotten used to the tiny subset of Emacs keybindings built into Cocoa text fields, and I use C-t fairly frequently! Apparently you do not make character transposition errors as often as I do.
https://github.com/ppwwyyxx/dotfiles/blob/master/macOS/Libra...
It's a life saver.
This leads me to believe that this will work:
"~t" = "transposeWords:"; /* M-t */
Edit: Sadly, `transposeWords:` doesn't work, despite showing up in Apple's docs—it just beeps when I try to use it.I don't know what I'd do with that if I were actually an Emacs user, though, since I use the Option key for typing certain characters a fair amount. Although I'm sure I could remap Emacs meta to virtually anything else, because Emacs.
Honestly its a double edged sword here. Doom has so many built in convenience functions like `set-font!` and `set-repl!` that an experienced elisp programmer would probably love it for building their own configuration.
On the other hand it bundles so much that an inexperienced emacs user might be more keen to do the bare minimum and rely on the packages bundled with doom to give them all the cool stuff without much effort. After all, why "reinvent the wheel"? I personally don't agree with that sentiment, I think learning how to build and maintain a personal emacs config makes a person a better programmer generally, and makes them prone to reading and writing documentation rather than copying solutions.
I started off with doom and even though I don't use it anymore I still find myself reading its source to figure out how Henrik approached a solution. Love it or hate it, Doom is great in both very good and bad ways for emacs users.
Fair enough, I came from a background of JavaScript and Python, and Lisp was entirely foreign to me, let alone Elisp.
> After all, why "reinvent the wheel"?
I think its not of "reinvent the wheel", but let the other person do the decision making for you, including picking packages, setting up the modeline, so on and so forth. Starting out with a bare Emacs installation, you have to piece together the various packages that you would want to use, where as with Doom, you get everything out of the box. Also, maintaining your own init.el helps one learn Elisp
> I still find myself reading its source to figure out how Henrik approached a solution
For example?
You can also easily remove anything afterwards.
Doom is essential for my sanity, and extremely flexible. I can do everything I want, just like on a barebones install. But I do it in a way that is way simpler, more practical, and performant. I'd use Doom even without any of its modules, just for the macros, the speed, and the sane configuration layout.
I tried the build your own route for 2 years, ended up with a huge messy init impossible to maintain. Doom removes a lot of complexity and provides extremely useful macros. The guy really knows what he's doing, and the optimizations that he uses are impressive.
I now use my own much simpler config, but I've borrowed heavily from the things I like about Doom.
It's works well because I fall into the Evil+Use-package Emacs hegemony with my custom config.
So I deleted my config. Went through the tutorial with vanilla setup. Then I continuously kept adding packages and tinkering with my config. After about two weeks, I felt that my productivity was on par with what it was previously in Neovim.
I've been using Emacs for a couple of months now and I'm happy I went this route. It is a tool I use almost daily and thus having a deep level of understanding and control is worth it.
This was very educative and I learned a lot about Emacs and Elisp.
The irony is after all of this I'm back to Vim and I don't feel like going back to Emacs (yet).
It's acceptable to people to use the standard Elisp, and Emacs itself, without digesting that code, but somehow using a canned config is bad. I find the choice of where to draw the dividing line somewhat arbitrary.