I switched to NeoVim entirely only four months ago. That wasn’t too hard for me. I was preparing for years without even knowing that. I had a few reasons for that switch, but two of them are the most important.

First, I wanted to have an efficient workflow without constantly changing a tool in my hand: it is really distracting for me. I was trying to achieve it using shortcuts, plugins for IDEA/PhpStorm, etc., but the process wasn’t complete. I always felt gaps.

The second reason was the need to move somewhere from JetBrains products, as they decided to not allow Russians to use their products for political reasons. But that’s a common decision in the business area nowadays, so I don’t blame them. Especially, because they made me to do that important step, eventually.

Many years ago, I realized that Vim was my favourite editor for editing files remotely, so basic movements and quitting weren’t a problem for me. However, working with projects looked like a nightmare to me. Watching ThePrimeagen’s videos, I found that even tools that come out of the box with Vim can solve the problem. NetRW is a simple and powerful tool.

But it is not enough when you want to quickly switch between files. So I added Telescope and Harpoon to my tool set. First help to find anything in the project, the second is really helpful when you do an actual work and have to switch between more than 2 files.

I can’t imagine my work without linters and language servers. I’ve set them up a few times from scratch, but there were different tiny issues that I didn’t know how to fix. Eventually, I came across LSP Zero, which did all the hard work for me. Accompanied by Mason, it leaves you almost with no work to do for setting it up properly.

I have to mention Treesitter, which makes code look better, and Copilot which, generally, makes life easier, but, honestly, I can survive without them.

The one I use rarely, but every time I’m happy I know about it is undotree. You know, sometimes you appear in a situation when you went into a wrong direction while coding and you want to find a place where things went wrong. Here it comes on the scene, providing an accessible (in my understanding) way to work with the changes history.

The last plugin isn’t required at all. But I enjoy it. And it helps me to improve my Vim skills. vim-be-good. Try it. I believe you’ll fall in love.

Categorized in: