One of the ways that I try to organize my writing is for flow. For me, that means not having to stop or slow down. Keep my thoughts and keystrokes uninterrupted. My goal is to minimize the amount of things getting in the way of getting the words out.

This is a brief introduction to the systems and software I use. I’ll go into more detail on most of these topics in future posts.

Purpose Driven Software

The primary piece of software that I use for writing is Neovim. It is a mode based terminal text editor. If those words, in that order, don’t mean anything to you, I congratulate you on being a rational and well-adjusted individual.

Everything in Neovim is a keystroke. The whole program is meant to be used exclusively with a keyboard. While it takes some time to learn, it is ridiculously powerful and quick to work with once you’ve adapted.

One of the primary reasons I work in Neovim is to avoid using a mouse. Every time I take my hands off the keyboard I am slowing down. In a perfect world, I never have to take my hands off the keyboard. If I can avoid moving them out of the home row position, that’s even better. Neovim facilitates this effectively.

Minimal Syntax Between Text and Intent

As I’m writing in Neovim, I don’t have access to text formatting in the same way that a word processor offers. I write using Markdown syntax instead.

The majority of my writing is just plain text. For those odd occasions where I want a little more formatting, like headings or the occasional underline, Markdown is lightweight enough that it doesn’t impact my flow. It’s the least amount of friction between the words in my head and the words out of my head.

Avoid Context Switching

The heaviest usage I have of Markdown is with the checkbox syntax: - [ ]

One of the biggest interruptions in my writing has been notes or questions unrelated to the specific thought that I’m working on in that moment. It meant either stopping what I was doing to jot down the thought elsewhere or to power through on my current thought, hoping I don’t forget by the time I’m done.

The checkbox has become my tool for getting those ideas out inline. Rather than try to find a separate place to jot the note down, I add it in the middle of what I’m writing. I’ll start a new line with the checkbox and write my note there.

As soon as I’ve got the idea out of my head I resume working on the thought I was originally exploring. It is guaranteed capture of ideas with the least amount of disruption and context switching I’ve been able to figure out so far.

After my writing session is done, I will then extract all lines starting with checkboxes and append them to a separate file. I typically call it my open questions file. I’ve written a utility application in Go that will extract questions automatically.

Writing is not Editing

Attempting to write and edit simultaneously is the surest path to hell I know of. Correcting a spelling error or a missing word is one thing. Rephrasing or expanding something is editing and I do my best to avoid it at all costs when I’m in the writing process.

Much like with inline questions, if I need to capture an idea I will simply write it inline. If I am feeling like I’ve missed something, got the structure wrong, or want to rephrase, I will write a new version underneath the original version.

I am continuing to move forward by capturing a different way of approaching something. I’m not thinking critically about the way something is being presented, if it’s better or worse. It’s just a different presentation.

I have had projects where I have five or six different approaches to a sentence or paragraph inline. It ensures that all the ideas are captured and I have lots of options to work with when it does come time to edit. I treat this like a bastardization of Postel’s law. I am bold in putting words down and liberal in cutting them away.

Future me, who is more tapped into this project, will be able to parse through the text and figure out the right path forward. The job while writing isn’t to create the perfect gems. It’s to create enough real estate to mine later and discover the gems.

Limited Hardware Is Good

I write on a laptop that makes it difficult to betray myself. It is old, underpowered,the audio doesn’t work, and the battery is in less than stellar condition.

On a full charge I can get about two hours worth of work out of it in a normal session, using normal writing software.

If I open up a terminal emulator, kick it to full screen, and run Neovim there I can get about three and a half hours.

If log into a terminal only session and run Neovim from there I can get up to six hours. That is crazy considering the age and state of this laptop.

The added benefit of a terminal session is that there are no happy distractions. I can’t disappear into a four hour youtube shorts k-hole. There’s no streaming video or social media to scroll. It is just text. It is effectively a digital typewriter.