Custom config for NvChad
I do not own anything related to NvChad, this is only my configs that I use with it.
I have been a VSCode user for years and I am slowly moving forward to NVIM
, so this is my config that mimic VSCode
key binds and UI, with a goal of removing plugins as I am getting used to it and learning more about NVIM
.
- Same as NvChad
- After installing NvChad, clone this repo inside your custom NvChad folder.
- Download and install CTAGS (for a better Go To Definition)
- I am using
Hack Nerd Font
- My terminal is
WezTerm
- My neovim version is
Nightly
- I am using a M1, so, some things may not work out of the box for you
For questions feel free to open an issue or you can find me in the NvChad discord server.
- Lua
- Go (go.nvim)
- Web development (JS, TS, HTML, CSS, React, Astro)
- Markdown
- astro
- clangd
- cssls
- dockerls
- emmet_ls
- eslint
- gopls
- grammarly
- html
- jdtls
- jsonls
- marksman
- tsserver
- yamlls
TreeSitter is enabled and will automatically install parsers for you.
Cmp has some custom configs for performance, and it will open automatically.
You can disable cmp auto complete with cmd CmpToggle
.
To trigger it, press <C-Space>
, you can navigate between the options with <Up>
and <Down>
and select with <CR
>`.
If Cmp is visible, you can use <Esc>
to close it without leaving Insert
mode.
If the copilot suggestion is active, you can use <Tab>
to select the copilot option.
With UFO, Pretty Fold
There is also a custom fold code in status.
lua
, you can disable ufo and enable the custom code.
With Trouble
With Error Lens
With lsp-lines
LSP Lines is only configured for Go, so it may need some tweaking for other languages.
With nvim-scrollbar
Dropbar currently only work in neovim nightly
and is disabled by default, if you want to use it, enable the plugin dropbar.lua
and then disable the lspsaga winbar in lspsaga.lua
.
With Illuminate
With Todo-comments
With SearchBox
With IncRename
With Muren
With Bookmark
- Telescope frequent files
<leader>fr
(with telescope-frecency) - Telescope undo tree
<leader>fu
(with telescope-undo) - Telescope fuzzy native (with telescope-fzf-native)
- It will show when it's recording a macro.
- It will show a custom icon when the file is hooked by Harpoon.
- It will show colored icons for file icon.
- It will show a Git icon with the status of the copilot
From left to right:
- GitHub UI (on click will open
LazyGit
window) - Compiler and Run (on click will open
Compiler.nvim
) - Split window button (on click will split the current window vertically)
With Glance
All the keybinds are available in the mappings.lua
file, and also described in the NVCheatSheet, you can access it with <leader>ch
.
Commom Text keybinds are also available:
- Ctrl + A Select All
- Ctrl + X Cut
- Ctrl + C Copy
- Ctrl + V Paste
- Ctrl + Z Undo
I do not like format on save, so my config is set to format on <leader>fm
only, but you can change it to whatever you want, to do it, just uncomment the autocmd in the autocmd.lua
file.
For .go
files, you can use <leader>fi
to complete imports.
I am using universal CTAGS to have a better GoToDefinition, the tags are generated automatically with guttentags.
Keybind to use is <C-]>
.
With LazyGit
With Colortils
I have adapted the Evondev Dracula theme from VSCode to Neovim, you can find it in the theme
folder.
Config ready for neovide, options are available in the neovide.lua
file.
- Auto save with auto-save
- UI overhaul with Noice
- UI Improvement with Telescope-ui-select
- Arguments highlights with hlargs
- Quick file navigation with Harpoon
- Minimap with Codewindow
Full List
- debugloop/telescope-undo.nvim
- anuvyklack/pretty-fold.nvim
- nvim-treesitter/nvim-treesitter-context
- folke/zen-mode.nvim
- windwp/nvim-ts-autotag
- gbprod/cutlass.nvim
- Wansmer/treesj
- chrisgrieser/nvim-various-textobjs
- okuuva/auto-save.nvim
- ethanholz/nvim-lastplace