5 ms·
It's crazy that here in 2023, Emacs is still the absolute beast when it comes to developer productivity. I had a colleague review one of my workflows the other
by lbj 3y ago
It's crazy that here in 2023, Emacs is still the absolute beast when it comes to developer productivity. I had a colleague review one of my workflows the other week and after a minute or so he said "Whoa, I would have been in 5 different tools by now".
If you're not into Emacs, I suggest you give it a whirl. For most development, nothing else will get you close to the joy and productivity that a well configured Emacs can.
- anonuser123456 3y agoAs a long time emacs user, I can’t describe enough how much I love VS Code over emacs. And yes, I was a power user with all the fancy modes. And yes, I work entirely with Linux.
- nhlx2 3y agoEmacs fancy modes?
- yawpitch 3y ago^ with the caveat that a well-configured emacs requires a well-configured emacs, often leading to an infinite loop.
- goku12 3y agoHow is that true at all? I started with plain Emacs and gradually updated the configuration to the level of polish I wanted. Even if you're impatient and want something modern up front, the advise given is to start with a starter pack like Doom Emacs.
- ianleeclark 3y agoI installed spacemacs 5ish years ago and have added maybe 20 lines to my configuration since then. None in the past 4 years. It's really overstated the amount of maintenance that Emacs requires.
- globular-toast 3y agoI recently made some big changes to my Emacs config to incorporate new tooling like LSP into my workflow. It turned into quite an extensive change as I re-evaluated many extensions and replaced some with newer alternatives. Took a few evenings. But I hadn't touched my config for three years before that! I've been using Emacs for 15 years and you definitely get to a point where you don't need to tweak it every day. 3 years is the kind of time some people would switch to a completely new editor. I have, in a way, except it still supports all the workflows that have become familiar over the years.
- kdtsh 3y agoThese days though you can offload that to a configuration distribution like Spacemacs, Prelude, or Doom Emacs.
- ak_111 3y agocan you give an example of such workflow?
- lbj 3y agoIn this particular example, I was documenting my investigation into a defect. I was jotting down notes in Org-mode (1. note-taker). Those notes included SQL scripts which evaluate directly in the note-file (2. ejc-sql / replacing dbbeaver), letting the next user see which result I got from the queries and the ability to re-run the queries (C-c C-c). Some of the results returned large jsonb blobs, which were made readable with M-x json-prettify (3. replacing some online json prettifier). The git stuff (branching, making a pull request, updating it) was handled using Magit/forge (replacing git/lazygit). And ofc the code-editing replaces (5) whatever IDE you could otherwise use.
- llm_thr 3y agoMagit is probably the easiest one for casual devs to appreciate. "M-x magit" get a nice list of the status of the files in the current branch. After you mark which ones you want to keep by moving up and down pressing s(tage) u(nstage) you just press "c c" and write your commit message. Then you press P and your git repo is up to date. At a previous job the head engineer flagged the number of commits I was making as an issue since I must be wasting a lot of time pushing incremental changes. When I showed him that it took me about as long to push changes to my branch as it did to save the file he was flabbergasted that one could use git without pain.
- geokon 3y ago> "M-x magit" get a nice list of the status of the files in the current branch. Except it will randomly split your frame and show up in a seemingly arbitrary location - often obscuring what you're working on. I find the whole layout system in Emacs completely chaotic. I guess it comes with the flexibility (VS a fixed system like most Ides) nor do I have any particular solution in mind I'm curious if anyone has tamed the weird inconsistencies of how new frames (or is it windows? Can never keep the terms straight) pop up. For instance a CIDER error buffer shows up using some completely different black magic than magit
- microtonal 3y agoAnd with opinionated configurations, you can be up and running with a good configuration in minutes: https://github.com/doomemacs/doomemacs https://github.com/doomemacs/doomemacs
- kalupa 3y agoI second this recommendation, but I also was coming from a vim background, not a modeless editor like textmate or vscode ...
- w0m 3y agoa few years ago (~2018?) I got excited about trying Org, and installed Doom Emacs on my (~18mo) old rMBP and it was slow-to-unusable. After ~30m of unproductive debug, i went back to vimwiki. The onboarding even with a distribution can be problematic.
- chungy 3y agoAmen, brother.
- PurpleRamen 3y ago> "Whoa, I would have been in 5 different tools by now". And those 5 tools would likely beat Emacs in their individual area. At the end it's all a tradeoff between low fringe with somewhat good enough performance, or high fringe for stellar performance. Sometimes you need it, sometimes not.
- mnemonicsloth 3y agoExamples please?
- harrygeez 3y agoa huge part of it I will say is antithesis to current state of programming. Emacs is literally a live elisp interpreter with everything in global scope. You literally replace parts of the application in runtime.
- onehair 3y ago> that a well configured Emacs can Well, that's the real issue for me. I spent a month an a half working on "configuring" NeoVim. I got it to a somewhat ready to use state for my usual workflows. But I still had a big pile of tasks in my backlog to actually get it finally 100% mine. Then I discovered Helix, which doesn't need any configuration, no plugins to play around with. Builtin LSP, Builtin Fuzzy Finding of files, TreeSitter and the list goes on. Even though it's still not fully checking all the boxes I need to have a 1 to 1 mapping of my previous workflows to what Helix offers. I find not having to build my own editor out of the Lego pieces and always needing to improve what it can offer me, makes the editor actually enjoyable. IMO, VIM, NeoVIM and Emacs should start looking into implementing a bit more than just the barebones, some of these new features that people are accustomed to in 2023, and more and more will flock to these good editors.
- Exuma 3y agoThat would be very unideal. That’s why distributions exist like lazy and kickstart etc
- overlyambitious 3y agoThat's what Doom Emacs is for.
- mrbadguy 3y ago[dead]
- daedalus_j 3y agoI'll admit I didn't look into it, but Helix sounds like something like LunarVim (https://www.lunarvim.org/ https://www.lunarvim.org/) Personally I much prefer that the editor NOT ship with something like that by default, especially when it's so easy to set up. I have several different vim config I use, including a pretty bare-bones one for headless systems, and I much prefer the ability to customize something very specifically. Build tools that can compose together, rather than a single do-it-all tool. That is the power of the low level editors vs IDE's.
- 3y ago