Learning nvim
This notebook groups things I do not want to forget while I am learning and incorporating nvim to my code routine.
Why nvim
The vim editor project is old and it became quite difficult to maintain with lots of bloated code. The Neovim (as many other forks that appeared) had the goal to turn the project easy to maintain while preserving vim characteristic and more.
Neovim built vim from scratch. Some of the features that this entreprise lead to is Language-Server-Protocols (LSP).
Here is a fullt article that explains the main differences: https://jarmos.netlify.app/posts/vim-vs-neovim/
Initial setup
Installation
I installed NVim from source. Just clone it the nvim project in your machine and follow the instructions there. nvim project
Plugin Manager
I am using lazy.nvim as plugin manager. In the website you find a basic setup from which you can start.
The basic file structure is the following:
- ~/.config/nvim
- init.lua
- lua
- config
- autocmd.lua
- keymaps.lua
- lazy.lua
- options.lua
- utils.lua
- plugins
- disabled.lua
- overrides.lua
- ..plugins specs
- config
lazy.nvim comes up with several plugins by default. The default options for each plugin are modifiable via a spec file. More details here.