nvim
nvim copied to clipboard
Blazingly fast nvim config inspired by NvChad and LazyVim
NVIM
The perfect blazingly fast Neovim configuration for myself, combining the aesthetics of NvChad with the LSP, formatter and lint configurations from LazyVim.

Installation
$ git clone [email protected]:wochap/nvim.git ~/.config/nvim
$ nvim
# wait for lazy.nvim to finish and restart nvim
# enter nvim and repeat once more
IMPORTANT: I disabled nvim builtin syntax which caused severe lag on my system, re enable it commenting out the line lua/custom/init.lua:6. Alternatively, you can install the Treesitter parser for the specified language or enable syntax for that specified filetype in the current buffer with :set syntax=<filetype>.
Vue projects
Create a file .volar in the root of your project to disable typescript-tools and enable tsserver, only tsserver can use @vue/typescript-plugin for now...
Troubleshooting
-
Lag
Try disabling
statuscol.nvimplugin -
Anything Eslint related
Run in nvim
:w :eIf that didn't work, kill all eslint processes
-
Python LSP/Linters installed by Mason stopped working
Uninstall them and install them again
Requirements
Any requirement from Mason, Mason will install nvim-lspconfig, conform.nvim, nvim-lint and nvim-dap dependencies
- neovim >= 0.10.0
- neovim-remote
- kitty (recommended)
- tree-sitter
- ripgrep (required by telescope )
- fd (required by telescope)
- deno (required by peek)
- nixfmt (required by conform.nvim)
- statix (required by nvim-lint)
- ts-node (required by nvim-dap)
- typescript (required by nvim-lspconfig)
- @vue/typescript-plugin (required by typescript-tools.nvim and tsserver)
Tips to learn to use this nvim config
- Learn https://github.com/folke/lazy.nvim, then remove all lazy.nvim plugin specs that you are not going to use in
lua/custom/plugins/*. For example, if you don't use neorg removeneorg.lua, if you don't code zig, removelang-zig.lua. If you don't use Kitty, removemikesmithgh/kitty-scrollback.nvimandmrjones2014/smart-splits.nvim. - Keymaps are located in
lua/custom/keymaps.lua(global),lua/custom/plugins/lsp/keymaps.lua(active when an LSP server is running), and within each plugin spec. - If you need autoformatting on save, create an autocmd that calls
conform.nvim. - Formatting, linting, and LSP config are the same as in Lazyvim, so feel free to import extras from Lazyvim, and add LSP servers in the same manner you did in Lazyvim.
- If you use a different theme than catppuccino, replace the plugin spec in
lua/custom/plugins/colorscheme/init.lua. Also, update the configurations for lualine, bufferline, and lazy.nvim.
Lastly read all lua files 😅, starting from lua/custom/init.lua