I switched to Neovim reasonably recently, and absolutely love it.
I have always had problems with the vim plugins setup, but with Neovime and Lazy, I have never had any issues.
It is extremely easy to use, and easy to get started with.
Initially, I started with kickstart.nvim, and started trimming it down to reduce the number of dependencies and keep only the necessary stuff.
In this page, I am listing my plugins, briefly describing why I need each of them.
If you want to see my init.lua, you can find it here.
Dealing with git.
I usually do everything in command line, apart from staging hunks.
I really like pressing :G and being able to unfold/fold each of the files, interactively stage hunks, and commit only what I need.
Another great plugin from the same guy (tpope).
This one automatically adjusts shiftwidth/expandtab based on the file/directory content.
This plugin saves your edit history in a tree-like way.
You will never lose any changes by doing undo/redo, and can visually see your the diffs.
Configurations for all supported LSP servers.
Completion engine that becomes really powerful when used together with LSP.
Show git markers on the sign column, e.g. if the line was added.
High-quality and beautiful theme. I'm using nordfox colorscheme.
Always struggled with multiline comments in vim?
This plugin is for you.
gcc comments a line you are on.
gcj comments a line you are on and the one below.
gc2j comments a line you are on and the two below.
...
Great fuzzy finder interface for neovim.
I use it for everything: quickly navigating in the codebase, look for references, look for file/class structure, search over code warnings.
This is one of my favourite plugins.
Native fzf implementation to improve the performance of telescope.
This enables looking at the file/class structure in a telescope window.
Syntax highlighting and quick code selection (e.g. quickly select a whole function).
I use this one to generate a template for docstrings with a press of a shortcut.