Neovim is a forked version of Vim that has developed along side it with the goal of further customization options and better plugin support and development.
I try to keep things simple and well-organized. I don't want to bloat my nvim with plugins I don't need. Although, I might not be able to completely stop myself there -- specially with cosmetic plugins...
This nvim setup is my attempt to switch away from VSCode. I was a loyal VSCode user for years, but I found that I just don't use VSCode how it is meant to be used, and I was actually trying to make VSCode act like Vim. So, why not switch to the real deal?
I use a structured plugin setup that centers around lazy.nvim.
I keep general configuration (including lazy.nvim initialization) in ./lua/config, and I keep individual plugin configuration in ./lua/plugins.
This is a Neovim config like any other, so all you need to do is:
- Make a backup of your current nvim config (optional but recommended):
mv ~/.config/nvim ~/.config/nvim.bkp - Clone this repo into the config folder:
git clone <this repo ssh> ~/.config/nvim
This will run just fine on SCF LC, but you need a few things:
- The correct Neovim binary on your PATH. This is easily done by using Hopper and moving an Nvim binary into a folder on your PATH (like ~/bin).
- All plugins installed properly. Lazy.nvim needs an internet connection to install plugins, so you can install all your plugins on the OCF with Lazy, then Hopper over the necessary files. This can be laborious, so I have made a set of scripts that make this easier for you at nvim_transfer.
MasonToolsInstallonly needs to be run once when you first install Neovim on a new machine.Masondoes not show all the installed tools for some reason. This also led to me abandoning "mason-lspconfig" due to it searching for Mason-installed tools, even when Mason doesn't see all the tools.- Previously, I would need to run
MasonToolsInstallevery time I opened Neovim if I wanted all my LSPs to work, even though they were installed.
- Previously, I would need to run
- If you add a new LSP, you need to add it in a couple places:
- Add it to the "ensure_installed" section of the
mason-tool-installer.luaconfig. - Add it to the "servers" list in the
lspconfig.luaconfig- note
- Add it to the "ensure_installed" section of the
- There are a few LSPs and code tools that need to be installed manually with tools like Cargo, Pip, NPM, etc. These will make themselves apparent when they aren't installed by Mason Tool Installer, but still needed.