Into The Void

Big Problem, Micro Solution

Hi,

For anyone who has been crazy enough to be following my text editor spirals, today I hopefully have a conclusion.

But, like all good stories, this one will start at the beginning:

A few days ago, some bug got stuck in my brain. Friction and frustration built up, and I became dissatisfied with my long-running text editor of choice, Helix. There's likely some other trigger that led to this whole spiral, but that's something to muse about another day.

I fell, hard, down the rabbit hole, searching for the perfect environment to type my soul into.

I first considered fantasy consoles, being content with Helix, and moving to Emacs.

Fantasy consoles weren't really an option.

Tweaking Helix some more helped, but the bug still wouldn't go away.

Emacs sounded like an excellent option. Emacs is basically a fantasy console itself.

So, I fell down the Emacs hole for a bit. I set up a new config in 30 that was basically just a modular implementation of an old config I had from a previous spiral.

And I hated it.

I really like the terminal workflow.

I wanted to use Emacs like a fantasy console and keep a terminal workflow inside of it, but that's not how it was made to be used. So, there was a lot of friction. I tried to use Emacs in a way it didn't want to be used, and it wanted me to work in a way I didn't want to work.

It was a terrible experience.

So back down the rabbit hole I went, searching for some way to fell satisfied.

I tried again to make Helix work. It's treated me so well for so long, surely it could be molded to suit my needs.

But it couldn't. What drew me to it became it's biggest flaw. Helix is great out of the box and doesn't need much configuration. But, needing less configuration also means it is less configurable.

I realized my biggest point of pain with Helix was that it was a modal editor. I am a writer, not a coder. As such, I do much more inserting than I do editing. I wanted Helix to start in insert mode, and that simply isn't an option.

So, realizing I had outgrown the constraints of Helix, I decided to embrace transformation. I wrapped myself in Kakoune and imagined the butterfly I would become once I emerged from this spiral.

But holy shit is Kakoune frustrating. It took everything I had to get a basic configuration that matched what I had configured Helix to do. I didn't even make it to attempting to implement what Helix does without me.

Ultimately, I realized that I was once again fighting an uphill battle, like I did with Emacs.

Kakoune is a very opinionated code editor. While I occasionally dabble, I am not a coder. Everything Kakoune is designed around doing well, I don't want it to do.

So I gave up and went back to the drawing board.

Though, now I had some clarity about what I really wanted.

That last one was the main sicking point.

I would happily use Nano, but an inability to quickly navigate large Markdown files is a huge hiccup.

Then, well past my bedtime, exhausted from banging my head into the Kakoune, I emerged a beautiful butterlfy!

The solution became so clear.

I had been dancing around it the entire time, for years even.

Micro.

Micro has always been my backup editor. It was one of the first programs I installed, and it's never left my system. It is what I use to edit my NixOS config files.

But there's always been something or other that hasn't felt right about it that I've never really written in it.

Plus, it didn't have Markdown navigation.

Except it does...

There's a plugin called 'Jump'.

I've had it forever because I liked what it sounded like it could do.

The problem was, I could never get it to work.

Well, it turns out I'm just terrible at reading directions.

One fresh look and I realized I was missing a dependency.

And just like that, I found my dream editor that's been with me the whole time.

Micro.

I can't quite call it perfect, but it does everything I need/ want it to do.

Other than a full zen mode and some markdown shortcuts, it's got it all.

Zen mode can be handled mostly by my window manager or Screen.

Markdown shortcuts I haven't even attempted to bind yet. Maybe it is possible, but if it isn't, I don't care.

I've finally found the only editor I need.

It's a bit bitter-sweet realizing that it took falling so deep down the rabbit hole for me to find what was always right in front of me, but that's just how life is. That's how it always goes.

We constantly search and strive for what we already have. We look for solutions to problems that don't exist. We already have all we will ever need.

Sometimes it just takes checking under every rock to make sure we haven't missed anything.

While it is better to not waste time and energy searching for what we already have, if that's what it takes to realize we have what we need, it's worth it.

The solution to all our biggest problems is the tiny thing we overlook.

Have a great day!

~ V