3 ms·
Although I'm relatively young, I've been using seriously Emacs for a decade an a half. Till quite recently, I only used Emacs for editing code and outlines in O
by nextos 8y ago
Although I'm relatively young, I've been using seriously Emacs for a decade an a half. Till quite recently, I only used Emacs for editing code and outlines in Org.
However, I moved a lot of my workflow into Emacs because I became really frustrated with ncurses applications like Mutt. They tend to be little silos that do not compose well with other Unix applications, unlike classical non-interactive Unix utilities. Furthermore, their configuration languages tend to be small, clunky and inflexible DSLs.
The little epiphany was realising Emacs is not a text editor, but a text-mode Lisp machine. Mostly everything is an elisp function and thus incredibly flexible and dynamic.
These days, I try to compute in 3 platforms: Emacs (for text applications, which covers most of my workflow), a web browser (Firefox, for web applications) and a terminal (xterm, for low-level Unix plumbing). I manage these 3 from a manual tiling window manager (StumpWM). I rarely use native applications.
This setup has brought tons of relief on my previous frustrations with computing. Plus, it's quite simple and mostly portable. I could migrate back to e.g. macOS and I would only need to adjust my window manager.
I think it's also irreducible. Moving web applications into Emacs is likely to cause some friction, and vice versa. I could possibly use Emacs terminal facilities, but I think keeping these separate is less fragile.
The other poster has addressed your other questions really well, I think. I have used IDEs like Visual Studio or Eclipse. And frankly, the 1% I still miss on Emacs for some languages will be covered by the Language Server Protocol.
For new and niche languages, Emacs tends to have great facilities while other IDEs tend to offer no support at all, which for me outweighs everything else. Things like Prolog, Mozart/Oz or Coq have really neat modes for Emacs.