Neovim From Scratch
Modular Lua Neovim configuration designed from scratch for clarity and speed.
Neovim from scratch
Important Update When I initially created this repo I didn’t anticipate the amount of breaking changes, if you’d like to use the same basic config as this one as a base I recommend my new repo: nvim-basic-ide
Another Update This repo should work fine with Neovim 0.8, also all packages are pinned so it should remain stable.
Each video will be associated with a branch so checkout the one you are interested in, you can follow along with this playlist .
Try out this config
Make sure to remove or move your current nvim directory
IMPORTANT Requires Neovim v0.8.0 . Please upgrade if you’re on an earlier version.
git clone https://github.com/vitorecomp/Neovim-from-scratch.git ~/.config/nvimRun nvim and wait for the plugins to be installed. (You will notice treesitter pulling in a bunch of parsers the next time you open Neovim)
NOTE Mason is now used to install and manage LSP servers, DAP servers, linters, and formatters via the :Mason command.
Get healthy
Open nvim and enter the following:
:checkhealthYou’ll probably notice you don’t have support for copy/paste also that python and node haven’t been setup
So let’s fix that
First we’ll fix copy/paste
-
On mac
pbcopyshould be builtin -
On Ubuntu
sudo apt install xsel -
On Arch Linux
sudo pacman -S xsel
Next we need to install python support (node is optional)
-
Neovim python support
pip install pynvim -
Neovim node support
npm i -g neovim
NOTE make sure you have node installed, I recommend a node manager like fnm .
Upgrade to latest release
Assuming you built from source , cd into the folder where you cloned neovim and run the following commands.
git pull
make distclean && make CMAKE_BUILD_TYPE=Release
git checkout v0.8.0
sudo make install
nvim -vThe computing scientist’s main challenge is not to get confused by the complexities of his own making.
- Edsger W. Dijkstra