This repo is supposed to be used as config by NvChad users!
- The main nvchad repo (NvChad/NvChad) is used as a plugin by this repo.
- So you just import its modules , like
require "nvchad.options" , require "nvchad.mappings"
- So you can delete the .git from this repo ( when you clone it locally ) or fork it :)
Keybindings
Leader = Space. Keybinds are read straight from the files: lua/mappings.lua, lua/configs/keymaps.lua, lua/configs/dap_keys.lua, and NvChad's core nvchad/mappings.lua.
Modes: n = normal, i = insert, v = visual, x = visual block, t = terminal.
General
| Key |
Mode |
Action |
; |
n |
enter command mode (:) |
jk |
i |
escape to normal |
<C-s> |
n |
save file |
<Esc> |
n |
clear search highlights |
<Space>/ |
n, v |
toggle comment (gcc / gc) |
<Space>fm |
n, x |
format file (conform) |
<Space>n |
n |
toggle line numbers |
<Space>rn |
n |
toggle relative numbers |
<Space>th |
n |
theme picker (modern volt-based picker) |
<Space>ch |
n |
NvChad cheatsheet |
Windows & navigation
| Key |
Mode |
Action |
<C-h> |
n, i |
window left |
<C-j> |
n, i |
window down |
<C-k> |
n, i |
window up |
<C-l> |
n, i |
window right |
<C-b> |
i |
move to beginning of line |
<C-e> |
i |
move to end of line |
Buffers & tree
| Key |
Mode |
Action |
<Tab> |
n |
next buffer (tabufline) |
<S-Tab> |
n |
previous buffer (tabufline) |
<Space>b |
n |
new buffer |
<Space>x |
n |
close buffer |
<Space>e |
n |
focus nvim-tree |
<C-n> |
n |
toggle nvim-tree |
Find, pick & git (<Space>f and friends)
| Key |
Action |
<Space>ff |
find files |
<Space>fa |
find all files (incl. hidden) |
<Space>fw |
live grep |
<Space>fb |
find buffers |
<Space>fo |
recent/old files |
<Space>fz |
fuzzy find in current buffer |
<Space>fh |
help tags |
<Space>cm |
Telescope git commits |
<Space>gt |
Telescope git status |
<Space>ma |
Telescope marks |
Diagnostics & debugging (<Space>d + function keys)
| Key |
Action |
<Space>ds |
diagnostics → loclist (NvChad) |
<Space>dl |
diagnostic float at cursor |
<Space>dt |
Telescope diagnostics |
<Space>db |
toggle breakpoint |
<Space>dB |
conditional breakpoint |
<Space>dc |
DAP continue |
<Space>dT |
debug Python test method |
<Space>dr |
DAP REPL |
<Space>du |
toggle DAP-UI |
<F5> |
DAP continue |
<F10> |
DAP step over |
<F11> |
DAP step into |
<F12> |
DAP step out |
Terminals
| Key |
Mode |
Action |
<A-h> |
n, t |
toggle horizontal terminal |
<A-v> |
n, t |
toggle vertical terminal |
<A-i> |
n, t |
toggle floating terminal |
<Space>h |
n |
new horizontal terminal |
<Space>v |
n |
new vertical terminal |
<Space>pt |
n |
pick hidden terminal |
<C-x> |
t |
exit terminal mode |
WhichKey
| Key |
Action |
<Space>wk |
WhichKey lookup (prompts) |
<Space>wK |
WhichKey — all keymaps |
Notes
<Space>d is shared by LSP diagnostics (ds, dt, dl) and DAP (db / dc / du / …), so the WhichKey menu mixes both groups.
vim.keymap.set in lua/configs/dap_keys.lua calls require("dap") at startup, so nvim-dap loads eagerly instead of lazily on first use.
Credits
- Lazyvim starter https://github.com/LazyVim/starter as nvchad's starter was inspired by Lazyvim's . It made a lot of things easier!