Posted on September 27, 2025This is more of a rambly post than I usually do, and that’s saying something.
But I really wanted to write these experiences down.I recently started a new job, and thought it was a brilliant idea to finally
start using a modal editor for realsies. Up until this point, I’ve religiously
been using VSCode. My adventures in text editing have been mostly on the editor
side, not really getting into IDEsThough my first experiences with programming were in an IDE, the stupendous
Eclipse, when I made my first (and second) Android game apps. I’ve long since
lost the source code to those projects, and probably for the best. I remember
thinking the whole spaces-vs-tabs thing was nonsense, and why anyone would ever
bother typing 4 spaces instead of just hitting a tab.
.I was a transfer from the amazing at the time, Sublime Text. I stopped using
it when it was clear that Sublime Text development, both the editor and the
ecosystem, essentially died. The nearest equivalent was VSCode which just workedtm, though I do
remember at some point trying out Atom.Unfortunately, the editors in the last paragraph are in order of startup time.
This really got to me at the end of my previous job, where VSCode almost regularly
took a good few seconds to even show me the text file I’m opening. I did use Vim
every so often as I had it set up for writing git commit messages, and that was
always super snappy. I was never able to get used to Vim’s editing style, though,
and looking back, it kinda clashes with what one is used to if they became
proficient in editing in “normal” editors.Helix, departingly riffs off of Vim’s verb -> noun idea, and follows in my
mind a logical editing order that’s similar to how one edits files in Sublime
and VSCode. I am used to first selecting something and only then executing some
operation; in VSCode, this would be things like replacing contents, duplicating,
or surrounding sections. This is the same order in which things happen in Helix.
And so I pretty quickly got used to Helix in only 2-3 weeks to a level that
is probably not as fast, but almost as fast as VSCode, which I’d been using at
least since 2018.Now getting used to Helix, I do see where the Vim people are coming from. I
like programming languages, and more often than one would expect, the solution
to a complex engineering problem is some form of a compiler or interpreter.
A viewpoint that’s popped into my mind is the idea that interacting with an
editor can be formulated as working with an interpreter. So inserting words,
deleting lines, find-and-replace, and searches are all operations by whatever’s
cookin’ in my noggin’ to achieve some end state of a text file, with the editor
as my runtime.Taking this viewpoint, it’s nice to have an actual malleable DSL to use at my
fingertips. It should be noted that Helix is still quite immature IMO. I’ve
changed some things because of VSCodeisms that made transitioning a bit
smoother. Instead of using Helix out of the box, I forked it with things like
showing LSP’s hover on idle, removing weird hardcoded shortcuts, and added the
still-in-progress Steel plugin system.