There are a lot of plugins covering almost anything you’ll need in your development environment.

When there’s no plugin solving your problem, you can manually do it. It’s easy!

For example I wanted IWYU integration in NeoVim and didn’t found any plugins for it. This is how I integrated IWYU in my NeoVim config, and these are the mappings.

I was using a theme plugin which didn’t working with some plugins I was using, on some places didn’t working the way I wanted. I’ve customized the plugin manually and now it works as I like.

The repo was inactive and had a good PR… No problem! I merged the PR directly into my fork.

Sometimes you don’t even need to code anything to solve your problem. I’m using a plugin to manage treesitters. Seems it doesn’t have an “update all” feature and I wanted to update all installed treesitters. In its UI in front of every installed treesitter it shows ✅ and it have “u” mapping to update the “selected” treesitter. To “select” a treesitter you just navigate to its line.

This is what I’ve did: moved the cursor to a ✅ symbol, pressed * and executed this command: :%g//norm u And it updated all of the installed treesitters.

How it worked? Explore the magic yourself 🙂

I use NeoVim primarily for C/C++ development and it have everything I need. And there are NeoVim integrations for almost anything!!