Skip to content

wochap/nvim

Repository files navigation

NVIM

The perfect blazingly fast Neovim configuration for myself, combining the aesthetics of NvChad with the LSP, formatter and lint configurations from LazyVim.

Installation

# optionally uninstall previous nvim config
$ rm -rf ~/.cache/nvim
$ rm -rf ~/.local/share/nvim
$ rm -rf ~/.local/state/nvim

# 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 or use a better fast terminal like foot

  • 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, conform.nvim, nvim-lint and nvim-dap dependencies

Mason will install nvim-lspconfig lsp servers

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 lua/custom/plugins/kitty.lua.
  • 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