vi-coding

It's the future

November 5 2025

We live in scary and exciting times. Software Engineering is changing rapidly, and those that don't keep up will get left behind. It was just 49 years ago that vi released and changed the game, now we're already on vim 9.1 and it is better than ever.

In 2025, all your engineers should be using vim to write code, and if they're not your organisation risks losing its' competitive edge.

Why

  1. Everyone else is using it.

Almost every software engineering team today uses git for version control. The best of thoseteams will frequently be rebasing, and writing detailed commit messages. And for most of those people, that editing will happen in vim. If you're not using vim then good luck getting your next job.

  1. 10x your productivity

Contrary to popular belief, most of our time as engineers is spent reading code, and navigating codebases. vim has an incredibly dense language to help move around a file and project, all while minimising how far your fingers have to move.

I tried it. Deleting a bit of HTML, first in VScode with a mouse, and then with vim. It took 5.62 seconds in VSCode, and 2.37 seconds in vim. That is a 137% increase in speed. Imagine that every time you use your mouse. If all your engineers use vim, you can easily get through that 12 month roadmap in a matter of weeks.

  1. Automate the repeatable work

Sure, you might enjoy coding, but nobody wants to do the same thing over and over again. And as engineers, we thrive off automating these kinds of tasks.

  1. Multiple success stories

Unfortunately statistics research on the topic is sparse and plagued with bias, but I know at least 3 people that use vim and are basically superhuman when it comes to writing code. vim allowed them to get their code out at the speed of thought. It was majestic. Those 3 anecdotes are more than enough evidence to warrant everyone investing in this technology, in my opinion.

Dispelling the myths

There are a lot of luddites out there that refuse to adopt this new tooling, and they'll typically bring up the same flaccid arguments, without even having tried using recent iterations of vim. Here are some common criticisms, and responses to them.

  1. "If I rely on vim keybindings, I'll forget how to use a mouse"

Good. trad-navigation is a dying art. Go and look at linkedin and see how many software engineer jobs have a requirement for using a mouse. ZERO.

  1. "Coding is only a fraction of the job, how will it increase productivity that much"

Coding is just one use case for vim, more and more products are now integrating vim into their workflow. You can write notes in Obsidian using vim keybindings (or in vim itself). Chrome has an extension that lets you use vim keys to navigate the web. All engineers should be encouraged to experiment and find where vim can support their work.

  1. "vim is built on stolen code"

Unfortunately this is true. There's a whole chain of thievery from ed -> ex -> vi -> vim, through a practice known as "open source". However, the cat is out of the bag now, so it's too late to do anything about it. Plus if the late Bram Moolenar didn't do it, somebody else would have and that might have all sorts of national security implications we can't fathom.

  1. "I don't like the impact on the environment"

This is actually a myth - vim does not require anything in particular to be set in your environment. Fom vim's help :h $vim:

"To avoid the need for every user to set the $vim environment variable, vim will try to get the value for $vim in this order:"

  1. "I tried it and it didn't make me more productive"

You're probably just prompting it wrong. Try using a better set of keybindings. It's only as good as what you tell it to do.

Conclusion

As an engineering leader today, you should be strongly encouraging every engineer in your organisation to start using vim today. Set goals. Measure adoption. Start tracking keystrokes. Take away their mice.

As an engineer, get on the hype train. vim isn't going anywhere, and you are responsible for being as efficient as you can be at your job. If not - vim might not take your job, but the next generation of engineers (the generation that have nver lived in a world without vim) might just do that.