nvim icon indicating copy to clipboard operation
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.nvim plugin

  • Anything Eslint related

    Run in nvim

    :w
    :e
    

    If 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

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 remove neorg.lua, if you don't code zig, remove lang-zig.lua. If you don't use Kitty, remove mikesmithgh/kitty-scrollback.nvim and mrjones2014/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