If you code a little bit, you already know some text editors or IDE’s that help you with your daily development, like VsCode, Atom, Sublime Text, Webstorm, Pycharm, IntelliJ IDEA, Visual Studio, etc. They are all excellent at code formatting, syntactical analysis, integrated terminal, testing, plugins manager, and so on.
Neovim is a fork of Vim that is an improved clone of Vi. The original Vi code was written by Bill Joy in 1976.
Neovim is aiming to improve the codebase, allowing for easier implementation of APIs, improved user experience, and plugin implementation.
The only downside to using Neovim/Vim is that you need to invest a good amount of time learning and configuring it. There is an initial learning curve. But once you pass that time, your productivity increases exponentially.
This blog is not about how awesome Neovim/Vim is. Maybe I will write another blog some other time. So here are the top neovim plugins that every developer needs.
Disclaimer: I am using the Reactjs open source project to showcase different plugins in this post.
Vim Plug is a free, open source, very fast and minimalist vim plugin manager.
A collection of common configurations for Neovim's built-in language server client.
Treesitter aims to provide better syntax highlighting for your code.
Traditional highlighting (left) vs Treesitter-based highlighting (right).
Telescope is a highly extendable fuzzy finder. You can search your files, search within files, etc. with this plugin.
Telescope also allows you to search within git lists.
File Explorer For Neovim Written In Lua.
A completion engine plugin for Neovim written in Lua.
Editor config for Neovim.
You can use Ale with existing linters and fixers like Eslint, Prettier, Black, Rust fmt etc.
Night mode theme for nvim
Hop allows you to jump anywhere in a document with as few keystrokes as possible.
Single tabpage interface for easily cycling through git diffs
Comment a single or multiple lines with this plugin.
A blazing fast and easy to configure Neovim statusline written in Lua.
This plugin adds indentation guides to all lines (including empty lines).
Barbar is a plugin for managing tabs in your Neovim editor.
I hope that this blog post helped you in setting up your vim workflow.
If you know of any great plugins that I've overlooked, please share them with me on my Twitter page.