[HN Gopher] Emacs 2011-2023
       ___________________________________________________________________
        
       Emacs 2011-2023
        
       Author : todsacerdoti
       Score  : 47 points
       Date   : 2024-04-14 19:52 UTC (3 hours ago)
        
 (HTM) web link (bastibe.de)
 (TXT) w3m dump (bastibe.de)
        
       | tptacek wrote:
       | Before you get all smug, Vim people, this applies just as much to
       | you as to us. :P
       | 
       | I'll probably never let go of Emacs, but have encouraged both of
       | my kids to avoid it and use VSCode instead.
        
         | sureglymop wrote:
         | I would, however, encourage anyone to learn the GNU readline
         | keyboard shortcuts. I don't use emacs but I think they are
         | emacs adjacent. I've come across those shortcuts in many many
         | places (that used readline or not). There's also rlwrap which
         | wraps any non readline REPL.
        
           | fragmede wrote:
           | https://discuss.kakoune.com/uploads/default/original/1X/f458.
           | ..
        
         | baq wrote:
         | I've jumped ship from vim to vscode ~5 years ago, for better or
         | worse, after having been a vim person for previous ~20.
         | 
         | There are still things I miss which are impossible to replicate
         | in vscode without breaking it, but I feel the out of the box
         | experience and reduction in configuration complexity is a
         | rather large net positive.
         | 
         | vim is still what I use to edit stuff via ssh and in docker
         | images, though.
        
           | fragmede wrote:
           | I wouldn't say I've jumped ship, simply because I'm still
           | using both. I've got vim in a terminal and a vscode window
           | up, and it's not seamless, but I wield the two together to
           | get the job done. Debugging is done in vscode, but vscode
           | doesn't have all the vim stuff in, so in still attached
           | there, plus it runs in a terminal and vscode doesn't.
        
           | lll-o-lll wrote:
           | Do you use one of the vim plugins in vscode?
        
         | globular-toast wrote:
         | I've been using Emacs for as long as the author and I've also
         | never really recommended it to anyone. I've never met anyone I
         | could imagine going through with it. I feel like if you're the
         | type to use Emacs you'll find Emacs yourself.
        
           | adamc wrote:
           | I think that's probably true. You have to dig to see what's
           | good about Emacs, and to get past the initial "this is so
           | alien" impression.
        
         | orbital-decay wrote:
         | I don't think it applies. Vi's key idea is a composable text
         | editing language, and it's transferrable between editors, with
         | a few quirks but mostly intact. (although there are new editors
         | that iterate on this idea, and they have their own, better
         | designed, but incompatible text editing languages).
         | 
         | Emacs' key idea is a composable environment, which translates
         | poorly to non-LISP languages and other programmable editors due
         | to their more rigid design. It's really an operating system
         | with a non-conventional architecture.
        
           | Bjartr wrote:
           | As the joke goes: Emacs is a great OS, only lacking a decent
           | text editor
        
       | smartmic wrote:
       | Why must it always be either or and not in symbiosis? I
       | understand that the author has to use different tools as required
       | by the employer or external constraints. He even lists the
       | various purposes Emacs serves in his digital life, such as org-
       | journal, code editing, etc. And isn't that exactly a point for
       | Emacs? Emacs is not just a code editor or an IDE, but a whole
       | operating system around plain text. So even if I have to use
       | different IDEs, I find enough reasons to use Emacs for personal
       | knowledge management, as a Postman replacement, for journaling,
       | and much more. All in all, the reasons to move 100% away from
       | Emacs are not convincing to me. If everything else that Emacs
       | offers has failed, including its hacker friendliness, there is at
       | least the ethics to it for which I will keep it cherished among a
       | dark, propriety neighborhood that a system that provides Visual
       | Studio is setting.
        
         | bayindirh wrote:
         | Because it's hard. I use tons of tools in my digital ecosystem,
         | and the divide is tiring sometimes. Tool switching adds a
         | little overhead, which can become _not little_ when you 're
         | trying to do a lot of things because life demands it.
         | 
         | I use Eclipse as my main IDE, but for smaller stuff I use KATE
         | on Linux and BBEdit in macOS. Similarly, my knowledge base has
         | to be divided between two tools.
         | 
         | When you have time, this is no burden. But if you don't, then
         | it starts to bother you. Also, creating digital systems
         | requires time and experience.
         | 
         | However, I'm _very_ with you on VSCode thing. It 's a
         | proprietary tool looks like a free one, and keeping people
         | imprisoned without they realize. As a fun side note, VSCode's
         | Java language server is a headless Eclipse instance.
        
           | fragmede wrote:
           | VSCode looks really Free, in what way is it proprietary that
           | you're thinking of? In which language are you using it?
        
             | johnny22 wrote:
             | vscodium is really Free. vscode's default python language
             | server for example is not open. I think the remote
             | connection stuff isn't either.
        
             | bayindirh wrote:
             | It's free as in beer, not Free as in speech. Tons of plug-
             | ins are Microsoft proprietary, or being closed down step by
             | step.
             | 
             | I'm not and won't be using it.
        
               | thiht wrote:
               | They're extensions, nothing prevents you from
               | reimplementing proprietary extensions as open source
               | packages. As a matter of fact, there's probably an oss
               | alternative for each proprietary extension already. Maybe
               | it's not on par with the proprietary extension, but
               | then... work on it?
        
         | Y_Y wrote:
         | Exactly. At work I have Emacs running in WSL, after a bit of
         | tweaking it runs almost as fast as on Linux and doesn't give
         | any trouble. I also have VS Code for when some coworker wants
         | to work on something together and asks for it. You don't have
         | to use only one of them!
         | 
         | What also helps is keybindings. I like vim so I use evil and
         | whatever the VSC equivalent is, and most other commands are
         | done with a "leader key" in both editors, so there's not a big
         | difference in ergonomy.
         | 
         | It's really not much trouble to have these two setups co-
         | existing. In fact I'd be upset if I had to choose only one.
        
         | PurpleRamen wrote:
         | > Why must it always be either or and not in symbiosis?
         | 
         | At the end of the day, it's just another tool with its own
         | weight. And if the weight becomes bigger than the benefit, it's
         | time to move on.
        
           | adamc wrote:
           | Yeah, this. And sure, with enough effort, I could "scratch my
           | own itch" and fix whatever bothers me, but it is often not a
           | trivial effort, and afterwards... it's still emacs, and
           | whatever my fix was, I have to remember how it works forever
           | to navigate other challenges that will come up.
           | 
           | It is more pragmatic to simply find a tool that works for
           | whatever I'm doing and call it a day.
        
         | hollerith wrote:
         | >Why must it always be either or?
         | 
         | OP explains as follows:
         | 
         | >as my Emacs usage waned, so its ancient keyboard shortcuts
         | started to become a liability. I started mis-typing Emacs
         | things in Visual Studio, and hitting Windows shortcuts in
         | Emacs.
        
           | submeta wrote:
           | I use (basic) Emacs shortcuts everywhere via Karabiner
           | Elements. Caps is control. And Enter is control when pressed
           | with another key.
        
             | hollerith wrote:
             | The point is that the basic Emacs shortcuts don't work in
             | VS or VSCode. Also your solution does nothing for the
             | "temptation" to use Windows shortcuts in Emacs.
        
         | nvy wrote:
         | >Emacs is not just a code editor or an IDE, but a whole
         | operating system around plain text.
         | 
         | This meme really needs to die.
         | 
         | I use emacs a lot, but the attitude that it's not just a text
         | editor leads people to accept UX mediocrity.
         | 
         | Emacs has fallen behind VS Code in many ways, including text
         | editing.
        
         | sporedro wrote:
         | I never understood the all-in approach either. Different tools
         | handle things better.
         | 
         | I personally am using a mix of tools with my editors being vim
         | for editing files quickly on cli, emacs for magit (honestly I
         | just use it as a git tool and it works amazing, the startup and
         | leaving it running 24/7 is no issue on a modern computer),
         | intellij for java (it just works), and vscode for python,
         | terraform, javascript/node.
         | 
         | I see absolutely no issue with this setup, I'm not sure I would
         | recommend it to everyone but if you use a tool, that you feel
         | works better for even a specific case why not use it for that.
         | If new tools popup in the future I'm always willing to try
         | them, if they work better I'll add them to my workflow.
        
         | pizlonator wrote:
         | Emacs has really funky (and useful) keyboard shortcuts and
         | behaviors that make it awkward to switch to anything else.
        
           | adamc wrote:
           | It took a few weeks, but it wasn't that hard to switch, and
           | I'd used emacs for going on 20 years. That's not to say there
           | aren't things it did better than VSCode -- it's a given that
           | any switch between tools will have trade-offs. But it wasn't
           | horrible.
           | 
           | Escaping Emacs terminology ("buffers", "frames", etc.) was a
           | big win, as far as I'm concerned.
        
         | bitwize wrote:
         | Few reasons:
         | 
         | * Keybindings are different, and switching back and forth adds
         | friction.
         | 
         | * You get _looks_ if you use Emacs. From those over 45 it 's
         | like "I remember that from my DEC days; why use it now in the
         | age of Eclipse/JetBrains/Atom/VSCode?" From those under 45 it's
         | more like "You're using that ancient thing from the 70s?!"
         | There are probably Facebook memes out there with an Emacs
         | screenshot and the caption "If you use this to code you're a
         | psychopath." Social pressure these days is against Emacs, so if
         | you're going to use something else, may as well go with the
         | flow and use something else, not something else _and_ Emacs and
         | be thought a weirdo.
        
         | adamc wrote:
         | I like open source, but a lot of other considerations are
         | higher on my list of priorities.
        
       | rwilson4 wrote:
       | Thanks, Bastien, for org-journal. I've used it almost every day
       | for the last 4 years. Perhaps you'll find a new use for Emacs
       | someday.
        
       | BaculumMeumEst wrote:
       | VS Code people: how do you not go crazy when you try out a new
       | language? I just opened up a love2d project I've been working on
       | and everything has error squiggles. Do y'all just spend hours
       | getting your tooling figured out every time you try something new
       | or do you just disable diagnostics?
        
         | kirubakaran wrote:
         | I once happened to be with a coworker setting up VSCode on his
         | new laptop. I was shocked by the reckless abandon with which he
         | installed all kinds of third party extensions.
        
           | chuckadams wrote:
           | First thing I do with a new Jetbrains IDE is add a bunch of
           | plugins. It's pretty much the way most IDEs roll.
        
             | kirubakaran wrote:
             | Do you worry about malware?
        
         | baq wrote:
         | I guess we don't until there are supporting extensions.
         | 
         | Or we switch back to vim.
        
         | chuckadams wrote:
         | It's not hugely different than working with a new project in a
         | fancy IDE, once you figure out adding generated sources, aiming
         | the tools at the right config files if everything's not in the
         | root, etc. If you're lucky they've set up a docker-compose.yml
         | to get started with, otherwise you have a couple hours work
         | ahead. It's a one-time cost you don't have to pay again unless
         | you wipe and clone the project from scratch.
         | 
         | I vastly prefer IntelliJ, but project setup on vscode has never
         | been a major speed bump in my shop.
        
         | dplyukhin wrote:
         | What would you do in Emacs? The reason I switched to VS Code
         | was exactly because I could instantly get set up with most
         | languages by installing an extension, instead of messing around
         | with Elisp configs and a hodgepodge of packages. I couldn't
         | even figure out how to set up a working Java environment in
         | Emacs.
        
           | BaculumMeumEst wrote:
           | I don't really do anything fancy. I use citre and ctags for
           | goto definition and use buffer and tag based autocomplete.
           | 
           | Spending time fiddling with extensions makes me want to stick
           | forks in my eyes, but I'm genuinely curious if other people
           | just generally suck it up and get it figured out or if they
           | just ignore error squiggles a lot.
           | 
           | I would never go anywhere near Java with Emacs though, I
           | would just bust out Intellij or Eclipse for that.
        
         | PurpleRamen wrote:
         | Just ignore it. Errors will be fixed or deactivated with time.
         | Especially with something new, there are already enough things
         | to figure out, error squiggles are just another bag of noise.
        
         | valcron1000 wrote:
         | > love2d
         | 
         | For Lua last time I tried I just did not install any Lua
         | extension, just use the native syntax highlighting and move on.
        
       | satran wrote:
       | I moved into management 5 years back. And since then I have
       | reduced the amount of coding to a degree that I don't write
       | anything that goes to production. Most of my coding is scripts to
       | automate something or discovering something personally. I juggle
       | between Emacs, vim, and VS Code for many of those; VS code
       | especially if I want to navigate code. But Emacs is my daily
       | driver. I use plain text files to keep track of things, write
       | meeting notes, etc. The one editor that I keep coming back to is
       | Emacs. May be it is me, but its flexibility is unbeaten. And as
       | strange it sounds to say this these days, but Emacs is light. So
       | much so than VScode. It isn't vi/vim, but it is snappy to get
       | started.
       | 
       | Just recently I wanted the M-x shell to support OSC 8 links(you
       | can click them to go to a file), and all it required was to write
       | a small function to do so. This function goes into the thousand
       | odd lines of lisp that I have curated over a 16 years. It is an
       | editor that keeps evolving.
        
       | adr1an wrote:
       | I went through something similar, I enjoyed emacs TRAMP for so
       | long... One day, I saw a colleague opening remote vscode through
       | SSH. Turns out I hadn't seen that on vscodium... it's kinda
       | proprietary. (Should I care?) It's work! It needs to get done!!
       | (: and another feat was magit, but that I left behind when I
       | started using gitui ... I still highly appreciate and respect
       | emacs. Maybe one day vscode will turn shit because, hey! it
       | happens, and emacs will still be there for me <3
        
       | globular-toast wrote:
       | I'm at the point where I just wouldn't take a job if I didn't
       | think I could use Emacs. I'd be hobbled to such an extent. Like
       | carpenter unable to use a hammer.
       | 
       | When I first entered the market 15 years ago there were loads of
       | Windows only places that were completely out of the question for
       | me. The world then seemed to change and it was easy to get a good
       | job for a while. But the forces of darkness never went away, it
       | seems. I always said I'd rather just quit computers then do
       | anything Microsoft. I hope I don't have to put my money where my
       | mouth is, but I'm still prepared to.
        
         | nonrandomstring wrote:
         | The need for grown-up computing is not ever going away. It gets
         | less visible, harder to see against all the noise.
        
       | koito17 wrote:
       | I wonder how Magit was replaced. Magit is the sole reason I can
       | use Git at all. I have never used Git from the command line, and
       | every time I see non-Emacs-using coworkers trying to use git, it
       | always seems like a mess the moment they do anything more
       | complicated than switching branches.
       | 
       | I remember briefly using the Git features in Xcode and IntelliJ,
       | but both were pretty convoluted and lacked specific features I
       | use daily, such as staging ranges of a diff (rather than an
       | entire diff). There's also little things that make Magit
       | essential to me, like cherry-picking a commit from the reflog
       | having virtually identical UI to cherry-picking in general. Never
       | bothered to try learning how to these things in Xcode or IntelliJ
       | since the interface was complicated enough just to create commits
       | and view a log.
       | 
       | I don't use VS Code, but my coworkers that do use VS Code seem to
       | use git entirely from a terminal window. So I am guessing VS Code
       | doesn't have a Magit equivalent.
        
         | roryrjb wrote:
         | There's edamagit[0] for vscode, it's pretty good! I've been
         | using it for a couple of weeks now and haven't needed to touch
         | git via the terminal.
         | 
         | 0.
         | https://marketplace.visualstudio.com/items?itemName=kahole.m...
        
         | sporedro wrote:
         | I come from a vim background and have used vscode and intellij
         | as well. But picked up emacs solely due to magit. A coworker
         | showed me it and I have to say it's really amazing. Nothing
         | really compares to it, the closest I've seen are the cli tools
         | "tig" and "lazygit" but magit really outshines them feature
         | wise.
         | 
         | There's nothing "similar" to it but vscode does have git tools,
         | it just feels really clunky to use imo. Same goes for
         | intellij's UI. I guess it works for some people but they sort
         | of just hurt my head to look at.
        
         | ak217 wrote:
         | VSCode has excellent git and github support (especially with
         | the GitHub Pull Requests and GitLens extensions). In my
         | workflow, it has surpassed anything Magit had to offer. While I
         | still use the command line git extensively, I've come to rely
         | on VSCode for a lot of the more complex contextual information
         | available when editing, resolving merge conflicts, staging, and
         | contextual git history available in popups.
         | 
         | I always leaned on emacs due to its versatility working in
         | remote environments on the command line. I still use it
         | occasionally, but for me the feature that finally made me
         | switch to VSCode as my main daily driver was the remote SSH
         | plugin. It's a game changer and the best remote IDE experience
         | I've ever had. Then Copilot came out and cemented the change.
         | 
         | I think in general emacs and vi users learn to live with
         | substandard UX and legibility issues of the software. I find
         | vscode to be better at that. It strikes the right balance on a
         | lot of things, in particular I find myself learning new things
         | faster and with less frustration because the shortcuts,
         | commands, and contextual information are more intuitive and in
         | line with my expectations.
        
       | dctoedt wrote:
       | I've long used Emacs and org-mode for all my legal writing for
       | Web posting, including my course materials (which have turned out
       | to be a pretty-long PDF for print-on-demand). I once tried to use
       | Microsoft Word, but in really-large documents, Word's internal
       | cross-referencing just isn't reliable. So I can't imagine
       | ditching Emacs.
       | 
       | (I started using Emacs in law school, and wrote keystroke
       | emulators for both Word Perfect BITD and Word. Nowawdays, when
       | using Word on others' machines, I have to remember that, say,
       | Ctrl-A doesn't go to the beginning of the line.)
        
       | michaeldh wrote:
       | It's okay to use different tools. Don't worry about it so much.
       | 
       | FWIW, I spent a lot of time in Notepad++ with my own syntax and
       | settings setup for a specific video game I made mods for. And
       | then I learned Linux and really bought into BOTH Vim and Emacs.
       | And then I stopped playing around with computers and pretty much
       | forgot about all of that stuff. No hard feelings.
        
       | submeta wrote:
       | I abandoned Emacs for a year or so and used BBEdit for regex-
       | replace and VS Code for dev tasks. Also gave up on org-mode and
       | org-roam because I could not find a mobile companion. Adopted
       | Obsidian for all my note taking use-cases and journaling in
       | markdown.
       | 
       | A few weeks ago I asked myself if I can use Emacs as a front end
       | for my markdown files in my Obsidian vault. So I started setting
       | up Emacs for searching files via counsel-fzf and via ripgrep (I
       | can jump to any heading in my markdown files, find any content in
       | my 17k+ files, in an instant, using Emacs). I use yasnippet for
       | templates.
       | 
       | After a week or so I realize this:
       | 
       | 0. I love writing documents in Emacs, use Elisp to automate my
       | workflow, and have all my files available on the go via Obsidian.
       | 
       | 1. Emacs + Elisp are a wonderful platform for all things text.
       | 
       | 2. Markdown is less capabable then org-mode, but it's available
       | everywhere.
       | 
       | 3. Org-mode is tied to Emacs, and thus no mobile solution.
       | 
       | 4. Broke down my 5k lines Emacs config file into packages and
       | import them. This made it more managable. And now I version
       | control my configs and packages. This also made it more
       | managable.
       | 
       | I still use VS Code for writing code, BBEdit for regex
       | search/replace across files, I just have re-discovered Emacs
       | again. It's just unbelievably versatile with the Emacs Lisp
       | language. I cannot automate Obsidian just as fast (or at all).
       | 
       | ## Edit
       | 
       | I have said fare-well to Emacs soo many times, just to realize
       | how absolutely lovely it is / was, and come back to it. Always.
       | And then, with a fresh perspective, appreciating it even more. So
       | I don't believe this fella is going to stay away from it :)
       | 
       | ## Edit 2
       | 
       | What boosted my Emacs usage is ChatGPT and Claude 3. I have never
       | created that many Emacs packages in my life like in the past two
       | weeks or so. With the right prompt and a few iterations I can
       | make Emacs do whatever I need it to do. Absolutely stunnig.
        
         | oddthink wrote:
         | Interesting! Just over the past month, I've reduced my emacs
         | usage a lot. I'd switched to VSCode for most coding a while
         | ago, but I still kept my daily journal notes in org-mode, but I
         | recently switched to Logseq for that.
         | 
         | I don't know if I'll stick with it, or if it'll get sluggish
         | after a while, but right now the searching, rich-text, and pdf-
         | annotation seems refreshing.
        
       | mad44 wrote:
       | I was also unhappy with emacs breaking across versions, but I
       | learnt to adopt to the new and sane keyboard shortcuts for org
       | mode. http://muratbuffalo.blogspot.com/2024/01/dude-wheres-my-
       | emac...
        
       | bitwize wrote:
       | I have just the opposite problem. I've tried Visual Studio Code
       | many times, each time wondering if there were some productivity
       | benefit I was missing because everybody seems to use and love it.
       | I'm just not seeing it. Having Emacs Lisp _right there_ , in
       | which I can knock together some automation that smooths the pain
       | points out of my workflow, is just too much a benefit.
       | 
       | Visual Studio Code is just aimed at a different kind of developer
       | than I am. (ThePrimeagen fans, stay quiet; you risk violating
       | someone's code of conduct if you speak up now.) It doesn't work
       | the way my mind works, so I will always be a foreigner in its
       | lands. Plus, Emacs is just too cozy. It's like a beanbag chair:
       | once ensconced in it, you struggle to get out... and you really
       | don't want to.
       | 
       | Emacs now has a package called crdt that uses -- you guessed it
       | -- CRDTs to provide collaborative editing. I've seen YouTube
       | videos of it in use and it seems to work rather well. So you
       | _can_ pair program remotely with it, but I don 't pair program
       | often enough to need it.
        
       | fhd2 wrote:
       | > But it was of course a complete non-starter for pair
       | programming. After having tasted Visual Studio (+- Code) Live
       | Sharing, there was simply no going back.
       | 
       | Interesting that the straw that broke the camel's back for the
       | author was pair programming. I've been pairing pretty regularly
       | for a long time now, and everybody using their preferred
       | editor/IDE was never a problem. Live editing the same code is
       | something we played around with every now and then, but there
       | wasn't real utility. One person sharing their screen is pretty
       | much how I've done it for the last five years or so. If we want
       | to switch who's driving, we just commit.
       | 
       | Edit: In fact, my experience is that it has never been so _easy_
       | for everyone to use different editors. CLI toolchains,
       | editorconfig, auto formatters and linters, LSP, ...
        
         | giraffe_lady wrote:
         | I have a lot of experience pair programming and I definitely
         | find that minimizing the friction to switch driver is a huge
         | deal. Especially when knowledge-sharing or mentoring across
         | experience divides, being able to take over for a few seconds
         | but then fluidly hand control back just makes it not feel like
         | a big deal for either person.
         | 
         | In non-remote jobs I would always set up my station with two
         | keyboards and two mice for this reason. Now that I work remote
         | I always keep VS code configured for the codebase and use it
         | for pairing. Even though my personal editor is, yes, emacs.
        
       | broodbucket wrote:
       | Emacs is still kicking on for me, though Helix is looking its
       | biggest competitor. Not in the same league in terms of
       | extensibility (Helix is deliberately non-extensible) but the out-
       | of-the-box experience couldn't be more different.
       | 
       | I just can't come at the combination of Electron, non-free
       | components, and the owning company. Codium helps, but not enough
        
       | adamc wrote:
       | My experiences cover roughly the same period (early 2000s through
       | August 2023), and then I switched to VSCode. I switched partly
       | because I was sick of the kludge-y nature of Emacs -- yes, it
       | could do anything, but there was a lot of tinkering to enable it.
       | The problem with this stuff is that you never escape it -- 10
       | years later, you are still replacing packages or tweaking
       | packages, or finding new issues with a newer package... I got
       | tired of it. Even though I liked Emacs Lisp OK, I came to feel it
       | was a big productivity drain.
       | 
       | But although I've used VSCode since (mostly for TypeScript
       | development), I can't say that I like it. It is forever showing
       | me things (pop-ups) I didn't ask to see, and it has problems
       | working with WSL2 (it doesn't seem to notice filesystem changes
       | correctly), etc. As usual, though, I am busy enough with real
       | work that worrying about the ideal development environment has
       | had to take a back seat.
       | 
       | So it's possible I will eventually return to Emacs. More likely I
       | will find some other tool. I'm tired of the Emacs way of doing
       | things, even though I think the architecture of the editor was
       | brilliant.
        
       ___________________________________________________________________
       (page generated 2024-04-14 23:01 UTC)