As a die hard Vi(m) user, who just rage quit Emacs today because it messed up on undoing things (Emacs did what Emacs does, sadly my brain doesn't work the same way), I had hoped to see more than just "more excuses to never leave your editor"
It's very snappy to open if you run it as a server. Defining an alias for 'emacsclient -a= -c' was enough for me. It will boot Emacs if it's not already running, but otherwise, you immediately get a new frame hooked up to the running instance. You can also run Emacs as a systemd user service, to spare even that first delay.
You do have to get into the habit of exiting by closing the buffer or the frame instead of quitting Emacs.
I’ve tried that a few times, but inevitably emacs+plugins get into a bad state and I have to restart.
Plus I haven’t figured out how to keep my buffers organized. When I’m working on project x, I don’t want to see project y buffers. I’m sure there are many plugins for that too, but the state gets corrupted over time and stuff I use quits working.
I much prefer separate instances for separate work, and nvim or vim start from scratch faster than an emacsclient connects.
The undo in Emacs is great, it's impossible to lose anything because you can undo your undos. I wouldn't start off doing serious work with it, though. Switch gradually and you can avoid these situations by looking stuff up in the moment. Pick a side project to start out with, not your main gig. And if you're a VI user, go with Spacemacs or at least use Evil.
pros:
- magit. unbelievable.
- org mode. vimwiki pales in comparison
- best vim emulation I've used
- impressive operating system :)
- configuration is awesome. doing literate org mode configuration with org babel.
- lisp is cool.
cons:
- haven't gotten comfortable dealing with "projects" yet, navigating files feels awkward.
- doesn't feel quite as good as an editor as vim, but better than anything else out there.
- no flutter mode
- elm integration not quite as nice as I'd like
What makes navigating files in vim so much better?
Vim was my primary editor for decades, but I was never particularly impressed with its file-navigation plugins, and mostly used the shell for file navigation. Emacs is really no worse in this regard, from what I can see. It has packages which are clones of or similar to vim plugins like NerdTree and the like (which I don't like myself and don't use, but they're there if that's your thing), and it has a bunch of other ways to navigate files -- like doing so from the minibuffer using counsel-find-file, or from dired, or from within a shell running inside Emacs, etc.
"doesn't feel quite as good as an editor as vim"
In what way? Have you tried evil? It makes Emacs 90% like vim, in my experience, and I rarely miss anything from the vim world myself (though, honestly, there are a handful of things that would be nice to have.. but not nearly enough for me to contemplate switching back to vim).
Some people like to paint ducks or build model airplanes. Some relax by plopping down in front of their PlayStation or TV for a few hours. Others like to tweak their editor. Is that so wrong?
You have any idea how long does it take to fine-tune a piano? How difficult and expensive is to adjust a Formula 1 bolid for a specific track? How long does it take to train a service dog?
Just because it takes time and effort to master and fine-tune a tool, required process does not render the tool impractical. Au contraire - it makes that tool the best suited for the task.