Ramblings of an aging IT geek
← Ramblings of an aging IT geek
tooling

moving to neovim, slowly

A low-stakes account of drifting from Vim to Neovim one config line at a time, rather than as a grand migration.

A mechanical keyboard lit by a terminal

I have been moving from Vim to Neovim, and the operative word is slowly. There was no migration weekend, no clean break. I copied my .vimrc into init.vim, it worked almost untouched, and that was the whole event. Anticlimactic, which is exactly what you want from a tool you live in all day.

What actually pulled me across was the asynchronous job control. In old Vim, anything that shelled out blocked the editor, so linters and builds either ran on save with a pause or did not run at all. Neovim's async support, and plugins built around it, mean my linter runs in the background and the gutter just quietly updates. Small thing. It removes a tiny stutter from every save, and those add up over a day.

The built-in terminal is the other thing I did not expect to care about and now use constantly. :terminal in a split, run the test suite, glance over, carry on editing. I used to tab away to a separate terminal for this and lose my place. Now it lives inside the editor where my eyes already are.

I am deliberately not chasing the bleeding edge. There is plenty of talk about Lua config and a built-in language server protocol client landing eventually, and I will get there when it is ready and not before. For now it is the same muscle memory I have had for years, with the rough edges sanded off. That is migration enough.