5 ms·
> Though it's cliché and often listed as a negative, emacs really gives the user more than just a program to edit text. I would not recommend emacs as an edito
by patrec 6y ago
> Though it's cliché and often listed as a negative, emacs really gives the user more than just a program to edit text.
I would not recommend emacs as an editor these days to most developers, but it absolutely still remains one of the most visionary and well thought out pieces of software ever written. It is both hilarious and depressing how emacs has been literally decades in the future over all of its 45 years of existence, without even the most obvious clearly superior aspects diffusing into the sea of idiocy surrounding it at a rate faster than one or two decades per feature.
Not everything about emacs is great, or even were great, without downside (for example the extreme malleability and customizable bring a raft of problems as well). But a couple of things really were and in some cases still are just obviously, massively, better without the rest of the world being in any seeming hurry to adopt them.
Incremental search is the prime example. It has finally become ubiquitous, and yet Emacs was basically the only thing that had it for well over a quarter century. As Raskin quipped in The Humane Interface (2000), search is either incremental or excremental (unfortunately he seemingly also tried to steal the credit -- he had an interesting mode-less variant of incremental search in Copy Cat which deserves notice, but it still postdated emacs by quite a few years, and I've never seen him acknowledging emacs as prior art). So I would really love to understand why neither netscape or basically anything else in the 90ies had incremental search, despite often being written in large parts in emacs by people living and breathing emacs such as JWZ.
And to this day emacs remains one of very few programs with a proper (i.e. non-linear) undo system or a clipboard not suffering from severe dementia, or the ability to actually ask "what happens when I click here?".
- lisper 6y ago> I would not recommend emacs Why not? The whole rest of your comment is nothing but a list of (very good IMHO) reasons to use emacs.
- dleslie 6y agoNot 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.