This is my neovim configuration.
As I don't particularly care for complex solutions, I went for a simple and self-contained configuration that it is still reasonably complete and modern. I used blink.cmp for completion, enabled features such as GitHub Copilot, (nvim-0.11+) LSP, Treesitter, advanced motion through Hop.nvim, a modern colorscheme, etc.
I think this configuration is reasonably good and very readable/hackable. I am sharing it in case anyone finds it interesting.
The installation is not terribly complicated, but not super straightforward
either. First, make sure that you have installed all the dependencies (neovim
0.11+, tree-sitter, etc.), backup anything you have in your nvim
configuration folder (~/.config/nvim), and delete it.
Then, you have to clone the repository in a folder of your choice (here we will
be using ~/code/git/dotnvim) and create a symbolic link so that nvim reads
its configuration from the repository:
cd ~/code/git
git clone https://github.com/mtortonesi/dotnvim.git
ln -s ~/.config/nvim ./dotnvim
Hence, you have to manually install the vim-plug plugin manager (see the official vim-plug installation instructions for more details). In Linux:
sh -c 'curl -fLo "${XDG_DATA_HOME:-$HOME/.local/share}"/nvim/site/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim'
Finally, you start neovim and digit :PlugInstall to install all the other plugins.
If you want GitHub Copilot support, you will likely have to setup
authentication. You can do this with the :Copilot setup command. Please refer
to the official instructions in the copilot.lua plugin
repository.
You might also want to change the LSP servers that you are using. I mostly code in Ruby, C, and Java, so I enabled only the corresponding LSP servers.