If you wish to write a book on Nvim from scratch, you must first invent the universe

There are so many different books I could write about Neovim! I'd like to write the one that's the most useful for you.

If you wish to write a book on Nvim from scratch, you must first invent the universe
Photo by Greg Rakozy / Unsplash

Hey there folks – Nat Bennett here, writer and software consultant. You're reading Simpler Machines, a newsletter about software.

I've mentioned this but haven't actually announced it properly here. I'm actually writing two newsletters right now. This one, and a newsletter about Neovim that's currently rather grandiosely titled Mastering Neovim.

It's basically a way to trick myself into writing a book about Neovim, and get feedback along the way. If that's at all interesting I'd love your comments on the outline. And if you sign up, not only will you get the first draft as it comes out, you'll also get a 50% discount on the final book. (Or whatever it ends up as – might be a course instead.)


At least it started as a book about Neovim.

In Kent Beck’s Tidy First?, one of the book-writing newsletters that inspired this one, he writes about the process of figuring out the correct scope to write at.

Book writing is an exercise in scope slashing. I always start writing about a topic that is too small to fill a whole book, realize it’s way too big for a book, slash it back to a topic that is too small to fill a while book, then… The most times I’ve been through this loop is 4 before I got a book-sized topic.

While I haven’t figured out the size to cut down to yet, I’m definitely feeling the first turn of that wheel.

I started out last week writing about code navigation. Figured that'd be a subset of the book – I'd explore various ways to search, jumping to function definitions with the LSP, and maybe wrap up with some pointers on filetree navigation.

Once I started writing, I discovered that covering one tiny code navigation technique required writing (and then cutting) material about

  • Lua syntax
  • Search commands
  • Motions, operators, and how they’re different from search commands even when they look similar
  • Nvim configuration and plugin management

So now I'm writing about Lua. I expect to get back pretty quickly to configuration but honestly who knows. This might end up being a book about Neovim configuration, it might end up being a book just about using Lua in Vim, or we might end up going down another rabbit hole entirely.

Anyway, this is exactly why I hope you'll sign up and leave your comments. There are so many different books I could write about Neovim! I'd like to write the one that's the most useful for you.