I got inspired to start trying to use Vim when I attended the Python national conference in Pittsburgh in 2025 and I met a hand full of old school coders who were among the fastest and most fluid that I have ever encountered. Watching them use their computers was like watching Yo-Yo Ma play the cello. Absolutely beautiful.
I was so inspired, in fact, I challenged myself to learn enough vim to be able to build the first version of my Pycleball web bot using a Vim extension in VS code.
Vim is famous among its users because it makes it possible to not have to use your mouse. Essentially, everything is possible with keystrokes and shortcuts, which are called "motions".
Here are some reflections from the experience.
First, if you want to get started with Vim give yourself an excuse while you browse the web with Vimium C, a keyboard shortcut browser extension. Vimium C makes it possible almost all the time to browse without touching your mouse. Because it's inspired by Vim, it gives you a perfect on ramp to start using some vim motions. For example...
I was so inspired, in fact, I challenged myself to learn enough vim to be able to build the first version of my Pycleball web bot using a Vim extension in VS code.
Vim is famous among its users because it makes it possible to not have to use your mouse. Essentially, everything is possible with keystrokes and shortcuts, which are called "motions".
Here are some reflections from the experience.
First, if you want to get started with Vim give yourself an excuse while you browse the web with Vimium C, a keyboard shortcut browser extension. Vimium C makes it possible almost all the time to browse without touching your mouse. Because it's inspired by Vim, it gives you a perfect on ramp to start using some vim motions. For example...
- yy copies the url of the page that you're on and puts it into your clipboard
- J and K scroll up and down on the page
- F superimposes a letter or letter combination above every active link so that you can simply type in that combination and navigate to that link location
- shift + H navigates back to the previous page, shift + L navigates forward.
- yv allows you to enter a mode where you can select specific text strings to copy them.
Vimium C is a game changer and I'd never want to browse the web without it. It takes some getting used to but it's COMPLETELY worth the effort in my opinion - even if you don't plan to use Vim. If you spend any time at all on the internet ever, it's worth it.
Second, the Vim extensions in VS Code are not fully functional and there are certain things that will just never be the same outside of Vim or an IDE like Neovim. The first shortcut I made once I installed Vim was a keyboard combination that allowed me to deactivate the plugin, and that was a great choice because certain things (like copy and paste) simply don't work like you'd expect when you start. It's also the case that you cannot repurpose any actual Vim configurations you've set up on your machine (as in your .vimrc file) with complete fidelity in VS code because the standard extension doesn't support a reference to your .vimrc file. Because I'd like to go deeper with Vim, I'm looking for ways to use it in a fully fledged IDE like Neovim next.
Third, find a resource to keep practicing. I found a PDF version of "Practical Vim" by Drew Neil that I went through for about 20 minutes every day for three weeks or so to get my feet under me. It was slow but I was so inspired to learn Vim that the prospect of getting a bit better every day is still exciting. Do this while you actually incorporate the motions into your workflow. Expect to be slowed down - a lot.
I'm still slow, but I saw for myself what it's like when you really get going with Vim. I'm still in the phase where I'm taking one step until I can take two steps forward, but using Vim also makes the whole process fun which doesn't make it all feel like work.
RSS Feed