Skip to content

BrunoKrugel/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Nvim(Chad) configuration

Custom config for NvChad v3.0

prv-min


Introduction

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.

Installation guide

  1. Same as NvChad (I am using the WIP 3.0 version of NvChad)
  2. After installing NvChad, clone this repo inside your custom NvChad folder.
  3. Download and install CTAGS (for a better Go To Definition)
  4. I am using Hack Nerd Font
  5. My terminal is WezTerm
  6. I am using a M1, so, some things may not work out of the box for you

Help

For questions feel free to open an issue or you can find me in the NvChad discord server.

Configured environments

  • Lua
  • Go (go.nvim)
  • Web development (JS, TS, HTML, CSS, React, Astro)
  • Markdown

Language Servers installed

  • 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 fully integrated with AI completions

cmp

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.

Code foldable in a VSCode style

Diagnostics in a VSCode style

Diagnostics Tab

diagnostics

With Trouble

Diagnostics in the gutter

error

With Error Lens

Diagnostics with LSP Lines

scrollbar

With lsp-lines

LSP Lines is only configured for Go, so it may need some tweaking for other languages.

Diagnostics in scrollbar

Winbar

navic

_With LSPSaga

Word highlight

word

With Illuminate

TODO Tracking

Search and replace

Local Search

search

With SearchBox

Local Rename

rename

With IncRename

Global rename

muren

With Muren

Telescope Integrations

Custom Statusline tweaks

  1. It will show when it's recording a macro.
  2. It will show a custom icon when the file is hooked by Harpoon.
  3. It will show colored icons for file icon.
  4. It will show a Git icon with the status of the copilot

Custom Tabufline icons

status

From left to right:

  1. GitHub UI (on click will open LazyGit window)
  2. Compiler and Run (on click will open Compiler.nvim)
  3. Split window button (on click will split the current window vertically)

References

Reference

With Glance

Keybinds

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

Formatting

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.

Improved GoToDefinition

I am using universal CTAGS to have a better GoToDefinition, the tags are generated automatically with guttentags. Keybind to use is <C-]>.

Github

LazyGit

With LazyGit

Colorpicker tool

Colorpicker

With Colortils

Neovide

Config ready for neovide, options are available in the options.lua file.

Other plugins

Plugins

Full List

bars-and-lines

code-runner

color

comment

completion

cursorline

debugging

dependency-management

diagnostics

editing-support

fuzzy-finder

git

golang

icon

indent

keybinding

lsp

lsp-installer

markdown-and-latex

marks

media

motion

nvim-dev

scrollbar

scrolling

search

session

snippet

split-and-window

syntax

terminal-integration

test

utility