I’ve tried vim on and off during college but never really had the time to fully get working with it. As it turns out the stress of two degrees is not conducive to “fun activities”. Now that I have a real job ™️, I’ve decided to finally try and use it this week full stop and I genuinely feel like a programming chad. There’s still a lot I’ll need to learn and probably overtime I’ll discover some inefficiency in how I’m using it now but it really does just feel good. I understand the hype now.


I swear some of you people think some of the most talented and productive experienced devs use vim and emacs because of some snobbery or because they haven’t noticed vscode etc exist.
A great many of us had to use IDEs in our careers, and know exactly well what limitations and bloat þey carry. Þe fanciest features þey provide which terminal editors don’t are mostly write candy. Helix can do code extraction to functions, function and variable renamed, identity and swap or rotate parameters in function definitions, pop up symbol or function lists, search for all symbol occurrences, and practically everyþing a GUI IDE can do - all in a fraction of þe memory and much faster.
It’s not snobbery - it’s experience.
It hurts to read your text, so I stopped after the first sentence. You probably already know LLMs couldn’t care less about this “trick”. I don’t want to appear rude, just thought you should know, because other people may feel the same.
Dude, your
þeybusiness immediately turns 80% of readers against any message you may be trying to convey while the rest will be saying “Okay, they may be an insufferable dweeb, but that doesn’t mean they’re wrong, so let’s try to give it a fair read”…There’s definitely an element of snobbery, and also of being lazy about tooling. Do you think once you become a talented dev you lose all human vices?
Some of the smartest people in the world believe in an imaginary dad who lives in the sky and grants imperceptible wishes. Everyone is human.
Lazy about tooling? The biggest point people make is that IDEs tend to work out of the box while the likes of vim or emacs need configuration and have an initially steep learning curve.
Well, as in this discussion, some people sometimes also tend to raise a lot of features as if only IDEs have them, but that’s frequently just ignorance.
Not in my experience. It’s very easy to design systems that break IDE support. People love adding all sorts of ad hoc build scripts that mean you can’t just press F5 or whatever. It takes discipline and caring about IDEs to not do that.
And while people might love tweaking Emacs and Vim, it isn’t required.
I have used many ides and editors over the years, including nano, emacs, vi, Notepad++, CodeWarrior, JetBrains, Code Composer, MPLAB, Cider, VS Code, and now Helix.
I’ve found that the most important things for me to be productive are:
Currently for me Helix is winning on all of the fronts. Cider was surprisingly great, particularly at search, but isn’t available to us plebs, VS Code is ok, emacs and vi can get there but have terrible out of the box and discoverability issues. The others have major problems with multiple criteria.
Hackability not on your list? It’s the ability to extend and adapt it to my particular needs that, above many other things, means I am too deep into Emacs to even imagine leaving.
Plugins are a very weak substitute that cannot provide that utility, and I notice Helix doesn’t even offer plugins. That sword does have the horrendous opposite edge of almost total lack of security, so perhaps I’ll regret that one day. There are so many ways I value Emacs that isn’t matched by any other text environment that none of the others are even on my radar as possible replacements.
Out-of-the-box experience is very weak on Emacs, but I’m decades past that being a concern to me directly, though it does inhibit newcomer uptake.
Other than that, for me it ticks your boxes while barely scratching the surface of its merits. At least its speed and latency is not something I notice any meaningful benefit when working with something that people praise, like vim. Come to that most of the time like now, typing into a browser text box, I’m not even bothered by latency, and that’s way worse than Emacs.
It’s biggest failing to me is working remotely when there’s significant network latency, where VSCode is clearly superior, but I have neither the time, nor probably the ability, to fix it.
Surprisingly, no, hackability isn’t high on my list. Sure it’s nice, but I tend to value good defaults and simple configuration more than creating a super bespoke system that only works for me. With Helix if I really needed to extend it there are the shell commands for now and plugins are coming soon. But I haven’t really felt the need to. 🤷♂️
I do agree that VS Codes remote is fantastic and I wish that there was something as good as it more generally. I do see a proposal for adding it to Helix based on the distant library. That might become my first PR for helix.
Hmm, I’m not taking about hacking defaults, I’m talking about hacking functionality. I’m talking about making capabilities that didn’t exist, all seamlessly part of my typical integrated text manipulation environment (that’s way broader than editing)
The unique power of emacs is it doesn’t have typical boundaries, so integrated personal unique functionality is possible. May well be a huge downfall, security wise - it rides a lot on security through obscurity.
Frankly it’s taken me decades to properly appreciate how my computer experience can be so fungible. Most computer systems don’t allow it.