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.
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).
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.
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.
27 comments
[ 9.5 ms ] story [ 160 ms ] thread[0]: https://news.ycombinator.com/from?site=emacsrocks.com
P.S.: I also happen to be a vi user.
https://elpa.gnu.org/packages/undo-tree.html
But alas, emacs is just too slow during startup for my workflow. I use it with clojure but only because of Cider.
You do have to get into the habit of exiting by closing the buffer or the frame instead of quitting Emacs.
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.
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
it feels like I'll get over the cons.
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).
Sticking to vanilla Emacs undo is supposed to be more reliable.
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.