Metaprocrastinating on writing a book by writing a text editor

If you have been following my Essential Tools and Practices for the Aspiring Software Developer posts and were anxious to read more, you might have noticed that they stopped coming after a while. I have a draft for the last chapter, and I regularly think about getting back to it, at least to get some closure. Alas, procrastination being what it is, I never did.

My procrastination level became really interesting when I convinced myself that one of the reasons that I didn't want to write that final chapter was that my text editor was standing in the way. I was either using a full-fledged code editor (Sublime Text/VSCode) riddled with complex features I didn't need (autocompletion, linting, etc) or getting lost in configuring vim into the perfect markdown editor. Either way, these were the wrong tools for the job, and my only way to get back to writing was to.. write my own?

And thus, bo was born.

The idea was to create a simple text editor, with powerful vim-like navigation. It should allow me to write in a very simple interface, while being able to navigate through the text in a couple of keystrokes, leveraging the muscle memory I built over the years using vim (or the vim mode in various editors).

I wanted it to be written in Rust, as it would be a good opportunity for me to write non-trivial code in a safe language, and also because, well, it just sounded fun.

I've been working on it on and off in the last month, and I've implemented enough features so that it's starting to feel comfortable.


There's still a lot to do! I'd be delighted if you wanted to test it and give it a go!

Written with bo.