Config tested up to NVIM v0.10.1
- Install neovim https://github.com/neovim/neovim/blob/master/INSTALL.md
- Clone vim repo to ~/.config/nvim
git clone [email protected]:FourSeventy/vim.git ~/.config/nvim
- Install the font in the ./fonts directory, and configure your terminal to use it.
- Install binary dependencies
- ripgrep for telescope
sudo port install ripgrep
- delve for debugging
go install github.com/go-delve/delve/cmd/dlv@latest
- lazygit
https://github.com/jesseduffield/lazygit
- ripgrep for telescope
- Install treesitter parsers
:TSInstall go
:TSInstall gomod
:TSInstall gosum
:TSInstall ruby
:TSInstall html
:TSInstall vue
:TSInstall sql
:TSInstall yaml
:TSInstall javascript
:TSInstall vim
:TSInstall lua
- Install language servers
- Install gopls language server
go install golang.org/x/tools/gopls@latest
- Official vue/language-server for vue/javascript
npm install -g @vue/language-server npm install -g @vue/typescript-plugin typescript
- Install gopls language server
https://github.com/folke/lazy.nvim https://lazy.folke.io/
Plugin manager
https://github.com/neovim/nvim-lspconfig
with neovim 0.5 LSP(language server protocol) is built in. The plugin nvim-lspconfig comes with config that makes it easy to connect the LSP to language servers out of the box. Our autocompletion uses the built in lsp. All of our diagnostics, linting and formatting are handled through lsps.
https://github.com/hrsh7th/nvim-cmp
This plugin has some dependency plugins that it uses as completion sources. Namely:
- hrsh7th/cmp-nvim-lsp
- hrsh7th/cmp-buffer
- hrsh7th/cmp-vsnip
- hrsh7th/cmp-calc
https://github.com/nvim-treesitter/nvim-treesitter
Better syntax highlighting and folding Add languages with :TSInstall To keep definitions updated run :TSUpdate
https://github.com/nvim-telescope/telescope.nvim
telescope.nvim is a highly extendable fuzzy finder. We used it for for searching and opening files, grepping in files, grepping git commit history, searching through lsp diagnostic errors and more.
Good video about it: https://www.youtube.com/watch?v=guxLXcG1kzQ
https://github.com/mfussenegger/nvim-dap
nvim-dap is a Debug Adapter Protocol client implementation for neovim. Requires plugin adapters per language:
- nvim-dap-go https://github.com/leoluz/nvim-dap-go requires delve in path
https://github.com/kevinhwang91/nvim-ufo
Code folding done right
https://github.com/kdheepak/lazygit.nvim
Managing git inside nvim