5 ms·
Not OP, but long time (and current) Emacs user and fan who also doesn't recommend it to new folks: LSP. Language servers has made most of the heavy features i
by dleslie 6y ago
Not OP, but long time (and current) Emacs user and fan who also doesn't recommend it to new folks:
LSP.
Language servers has made most of the heavy features in dedicated major modes in Emacs sort of redundant; servers provide error checking, warnings, refactoring and so on. The gritty bits are in the server, leaving editors to do the syntax highlighting and project management.
This sounds great, but Emacs doesn't ship with support for them, and Emacs' built-in package management is kinda unfinished.
To get good C support, for instance, I would;
1. Install straght.el for its use-package implementation
2. Pull in the lsp-mode package (or eglot, I suppose)
3. Install ccls somehow, because Emacs won't
4. Pull in the projectile package, because the built in ede is kinda cumbersome
5. Pull in magit, because the built in vc mode is nowhere near as good
6. Configure lsp-mode to grok ccls
7. Pull in emacs-gdb, because the built in gdb-mi is cumbersome
8. Finally get to work
With, for instance, vscode I would:
1. Open a C file
2. Install the recommended extension
3. Get to work
And then C works well, the debugging is ok, and so on.
At the end of all the steps I find Emacs superior to use, but most folks will have higher productivity with vscode.
- kapilvt 6y agoand now we have lsp major modes in emacs, with key bindings.. plus various plugins ie magit, org-mode, etc.. butterflies indeed (re xkcd).. ideal workflows in vscode are still a (same) mess of plugins, which are starting to go non foss.
- imdoor 6y agoIn Spacemacs i essentially have the sought after experience. It goes something like: 0. Know i will be working with C, expect that a C layer should exist 1. Open the docs for the C layer with SPC h l <search for C>, 2. In there, search how to set it up to use a lsp backend 3. add (c-c++ :variables c-c++-backend 'lsp-ccls) and lsp to the list of layers 4. install ccls with my distros package manager 5. restart emacs and get to work Sure, there are some more steps, but i don't really see it as a burden. And oftentimes it's even easier than that - open a file, get prompted to automatically install the appropriate layer, wait a bit while it does it's thing and you're ready to go. Ok, you should also uncomment the git layer in the configuration but it's already there. So yeah, i do recommend Spacemacs to the developers i know if they think they might be into a keyboard-centric experience to using the editor and other benefits that Emacs brings (buffer management is a big one for me). It was easy enough for me to jump on using it, without being familiar with Emacs beforehand and without knowing elisp. You do have to know basic vim, though.
- andi999 6y agoHow to use spacemacs on windows?
- imdoor 6y agoEmacs is available on Windows so just install it and then clone the Spacemacs GitHub repository to C:\Users\<username>\AppData\Roaming\ and rename it to .emacs.d\ As i remember, though, i think it was slower than on Linux, but might be something else was going on with my setup back then. I've also tried running it from WSL. Running it in cli mode was sufficient for me, but i was also able to use GUI mode by installing an X Server (VcXsrv i think) on Windows and making WSL work with that. It makes sense to use it from WSL, if you do your development work there as well. Also, it was before WSL 2, so i don't know if anything's changed now.
- cyberbanjo 6y agoI use spacemacs in Holy mode, you don't actually need to know basic Vim. I use only emacs based key bindings.