How to setup Neovim from Scratch - Complete Guide (Including TMUX, Lazy and LSP)

Описание к видео How to setup Neovim from Scratch - Complete Guide (Including TMUX, Lazy and LSP)

My NeoVim config needed an update, so, I decided to configure it from scratch! I've documented each step for an awesome neovim setup, including installing the Lazy Nvim plugin manager, integrating TMUX, setting up our Language Servers with Lspconfig and much more.

In light of the recent archiving of null-ls, we will also explore switching to efm-langserver, a performance-optimized alternative for linting and formatting with broad language support. We will set up the LSPs, linters and formatters for Python, Lua and Typescript. Plus, we'll delve into transitioning to Lazy Nvim for a more streamlined plugin management experience.

This video tutorial is designed for both beginners as well as those already using NeoVim and looking to optimise their NeoVim configuration (see timestamps to skip ahead where needed!).

Timestamps

0:00 Introduction & Installing NeoVim
12:01 Setting up the Lazy Nvim Plugin Manager
21:24 Install a Colour Scheme
24:48 Sourcing Plugins & Configuring Lazy Nvim
31:51 Configuring NeoVim options
41:23 Nvim Tree File Explorer
44:41 Installing a Nerdfont
54:21 Custom Shortcuts
1:02:06 Telescope Fuzzy Finder
1:07:58 Comments & Indentation
1:11:08 Visual Indentation Guidance
1:12:22 Syntax Highlighting with Treesitter
1:14:22 Autotags
1:16:18 Web-Devicons
1:17:33 Illuminate Word Under Cursor
1:18:47 Highlight Yanked Text
1:20:00 Nicer Command Line, Search and Notification UI
1:22:18 Lualine Custom Statusline
1:26:27 Installing Language Servers with Mason
1:31:32 Setting up Mason Lspconfig
1:33:46 Getting Started with LspConfig with Lua (incl. Linting & Formatting)
1:37:51 Formatting on Save
1:39:59 LspSaga & Diagnostics Keymaps
1:44:30 Clean up our project Lua settings
1:46:09 Configuring LspConfig and efm for Python LSP, Linting & Formatting
1:50:33 Setting Up Auto-Completion
1:53:05 Configuring LspConfig and efm for TypeScript LSP, Linting & Formatting
1:58:02 A Closer Look at efm-langserver
2:00:53 Cleaning Up LspConfig & Adding autocmds
2:03:14 Setting Up Transparency
2:06:14 Integrating NeoVim with TMUX
2:17:28 Outro & Thank You

Links

0. My Config (for reference)
- nvim [latest]: https://github.com/radleylewis/nvim
- nvim [commit containing video code]: https://github.com/radleylewis/nvim/t...
- dotfiles (alacritty & tmux): https://github.com/radleylewis/dotfiles
- Linux Distro used in this video is Pop!_OS: https://pop.system76.com/
1. NeoVim
- https://neovim.io
2. Lazy Nvim
- https://github.com/folke/lazy.nvim
3. Colour Scheme
- nightfox: https://github.com/EdenEast/nightfox....
- gruvbox: https://github.com/ellisonleao/gruvbo...
4. Nvim Tree File Explorer
- https://github.com/nvim-tree/nvim-tre...
5. Nerdfonts
- https://www.nerdfonts.com/
6. Telescope Fuzzy Finder
- https://github.com/nvim-telescope/tel...
7. Comment.nvim
- https://github.com/numToStr/Comment.nvim
8. Indent Blankline
- https://github.com/lukas-reineke/inde...
9. Nvim Treesitter
- https://github.com/nvim-treesitter/nv...
10: Nvim ts-autotag
- https://github.com/windwp/nvim-ts-aut...
11. Nvim Web-Devicons
- https://github.com/nvim-tree/nvim-web...
12. Vim Illuminate
- https://github.com/RRethy/vim-illuminate
13. Vim Highlighted Yank
- https://github.com/machakann/vim-high...
14. Nvim Noice for Command Line and Notifiation UI
- https://github.com/folke/noice.nvim
15. Lualine
- https://github.com/nvim-lualine/luali...
16. Installing LSPs, Linters and Formatters with Mason
- https://github.com/williamboman/mason...
17. Mason Lspconfig
- https://github.com/williamboman/mason...
18. Lsp Config
- https://github.com/neovim/nvim-lspconfig
19. efm-langserver
- efm: https://github.com/mattn/efm-langserver
- configs: https://github.com/creativenull/efmls...
20. Better Diagnostics with LspSaga
- https://github.com/nvimdev/lspsaga.nvim
21. Neoconf
- https://github.com/folke/neoconf.nvim
22. Auto-Completion
- nvim-cmp: https://github.com/hrsh7th/nvim-cmp/
- luasnip: https://github.com/L3MON4D3/LuaSnip
- lspkind: https://github.com/onsails/lspkind.nvim
23. Transparent Nvim
- https://github.com/xiyaowong/transpar...
24. TMUX
- tmux: https://github.com/tmux/tmux/wiki
- tpm: https://github.com/tmux-plugins/tpm
- theme: https://github.com/wfxr/tmux-power
- continuum: https://github.com/tmux-plugins/tmux-...
- resurrect: https://github.com/tmux-plugins/tmux-...
- navigation: https://github.com/christoomey/vim-tm...

Комментарии

Информация по комментариям в разработке