5 ms·
If you're a vim user but interested in trying out Emacs, I'd highly recommend Doom Emacs: https://github.com/doomemacs/doomemacs https://github.com/doomemacs/do
by dinkleberg 4y ago
If you're a vim user but interested in trying out Emacs, I'd highly recommend Doom Emacs: https://github.com/doomemacs/doomemacs https://github.com/doomemacs/doomemacs. I had been using neovim as my main editor for a while, but the vim bindings (evil) in Doom Emacs are excellent.
It was a lot to take in at first, so I went back to neovim. But I started using org mode more and more until I finally just went all in on Emacs. Now I understand that the editor war is pointless. Bringing vim + emacs together is bliss.
- gnulinux 4y agoSpacemacs comes with evil-mode (emacs vim emulator) default and it's very feature rich, so I think for someone coming from vim it'd be ideal. I personally use spacemacs with evil-mode disabled (I don't do vim, never did, have no plans on learning it) and I absolutely love. It's just a bit unstable but overall great operating sys... ehm editor.
- MikusR 4y agoSpacemacs is also dead. Last release was 5 years ago. Since then emacs has had many significant updates.
- imran-iq 4y agoHonestly the biggest blocker for me is just how slow emacs feels compared to (n)vim. Using both in a gpu accelerated terminal emulator, emacs just feels slower especially on larger files. Granted, I have not tried to use emacs once the jit landed in 28 (or was it 29?). But it's something I really would really like to use since instead of having a different application for irc/mail/etc it could all just be emacs.
- SirensOfTitan 4y agoEmacs is my daily driver, and even with JIT on an M1 mac I get a lot of stutter and freezes with LSP autocomplete. JIT definitely improved things [especially on my x86 machine], but I'm still unhappy with the slowness. Outside of LSP it's incredibly speedy.
- Barrin92 4y agoI had the same issues with LSP and I switched to eglot and it's much less sluggish for me. I don't know why that is or if it's a general solution but worth giving a shot as eglot is built in I think in the newer versions.
- trissylegs 4y agoIts because Emacs doesn't really have a way of performing asynchronous io. So lsp ends up blocking on the external server waiting for a reply. It been the main pain point for addung smarter autocomplete for years now.
- gpderetta 4y agoEmacs does have the ability to do non-blocking io though. Not sure if lsp-mode uses it and if not, why not.
- unhammer 4y agoIt actually does; support for async io has been there for ages. If you've ever compiled or run git push or run an external command like M-! sleep 10 & RET from Emacs, that's using async io. For things that end up calling an external command like that, the code will typically use `start-process` or `make-process`. For network io, there is `url-retrieve` with callbacks. For tasks that need to be run via emacs-lisp (e.g. sending emails, compiling elisp), there is John Wiegley's `async` library. However, lots of packages simply don't use these affordances. Also, for LSP, there's additional challenges since lots of json needs parsing for each request, but IIUC Emacs can't currently process the messages to/from the server while the UI thread is busy (the LSP server can do lots of work while UI is busy, but the communication is stalled until UI is done). Though it seems things will be improving there, hopefully this'll get upstreamed soon: https://www.reddit.com/r/emacs/comments/ymrkyn/async_nonblocking_jsonrpc_or_lsp_performance/ https://www.reddit.com/r/emacs/comments/ymrkyn/async_nonbloc...
- thejammahimself 4y agoI actually used to hack on vanilla Emacs but then I switched to Doom Emacs. Why? Because, like many others, although I am interested in configuring my editor, I am also interested in getting on with my work. With Doom Emacs, if I want to install support for a certain language, I need only uncomment a line in one of the config files, run doom sync, and then support for that language is installed. But you're not really sacrificing any customisability so you still get all the advantages of working within Emacs.