/nvim

Moving from CoC to native LSP in nvim 0.7

Primary LanguageLua

My Neovim config

Screenshot Alacritty terminal with Catppuccin terminal theme and Victor Mono nerd font.

My config for Nvim using native LSP with some sane defaults and settings, mainly aimed at web development but ready to go with Python, Rust, Golang, Deno and Lua.

Clone the repository into ~/.config/nvim

git clone https://github.com/bushblade/nvim.git ~/.config/nvim

TIP: No sudo on global npm install

Launch Nvim

Lazy will install all plugins, you may then need to quit and restart to get everything running correctly. Mason will install language servers and formatters.

Adding custom Snippets

The config uses luasnip paired with rafamadriz/friendly-snippets for VS Code style snippets. You can add your own snippets to the config snippets directory . You'll also need to edit the snippets/package.json to be able to load your snippets in the correct file type. One test snippet is included as an example.

Currently installed plugins

  1. /lazy/lazy.nvim - Plugin manager

  2. neovim/nvim-lspconfig - LSP

  3. nvim-telescope/telescope.nvim - Fuzzy find anything

  4. nvim-treesitter/nvim-treesitter Language parsing for highlighting and more

  5. hoob3rt/lualine.nvim Status line

  6. kyazdani42/nvim-web-devicons Icons

  7. hrsh7th/nvim-cmp Auto completions, suggestions and imports

    Source completion includes:

    1. hrsh7th/cmp-cmdline command line
    2. hrsh7th/cmp-buffer buffer completions
    3. hrsh7th/cmp-nvim-lua nvim config completions
    4. hrsh7th/cmp-nvim-lsp lsp completions
    5. hrsh7th/cmp-path file path completions
    6. saadparwaiz1/cmp_luasnip snippets completions
    7. L3MON4D3/LuaSnip Snippets
    8. rafamadriz/friendly-snippets
  8. tpope/vim-fugitive Git tools

  9. kylechui/nvim-surround Surroundings pairs mappings

  10. numToStr/Comment.nvim Vim style commenting

  11. knubie/vim-kitty-navigator Move between Nvim and Kitty splits

  12. windwp/nvim-ts-autotag HTML/JSX auto tags

  13. windwp/nvim-autopairs Auto bracket and quote pairs

  14. windwp/nvim-spectre Project wide find and replace

  15. mhartington/formatter.nvim Formatting

  16. airblade/vim-gitgutter Git status in the sign column

  17. leafOfTree/vim-matchtag Highlight matching tag in HTML/JSX

  18. folke/flash.nvim navigate with search labels, enhanced character motions, and Treesitter integration. your code

  19. kyazdani42/nvim-tree.lua File tree

  20. JoosepAlviste/nvim-ts-context-commentstring Better commenting based on file type

  21. onsails/lspkind-nvim Icons in completion

  22. catppuccin/nvim Theme

  23. folke/trouble.nvim Show the problems in your code

  24. folke/which-key.nvim Keymap helper

  25. folke/todo-comments.nvim Highlight and search project todos and notes

  26. NvChad/nvim-colorizer.lua Display the colour of your hex/rgb/hsl value

  27. akinsho/bufferline.nvim Buffers in tabs

  28. weilbith/nvim-code-action-menu Better code actions

  29. delphinus/vim-firestore Syntax highlighting and completion for Firebase rules

  30. rmagatti/auto-session Session management

  31. andweeb/presence.nvim Rich presence in Discord

  32. goolord/alpha-nvim Dashboard

  33. mbbill/undotree Undotree

  34. j-hui/fidget.nvim UI for lsp progress

  35. numToStr/Navigator.nvim Navigate between Wezterm splits

  36. Mason for installing language servers.

  37. Rest.nvim http requests using curl from Nvim

Resources and inspiration

Nvim Lua guide

Ben Frain has a nice setup

Kick start your Nvim config

Ui Customization docs

Lua for Programmers

LSP config

Awesome list of plugins

Plugin Finder