A complete walkthrough of a curated NvChad-based Neovim config with LSP, DAP, project scaffolding, and one-key code running.
Table of Contents
Brief Overview
Modern IDEs like VS Code pack powerful features — file trees, tabs, terminals, fuzzy finders — but come with heavy resource usage. Neovim offers an alternative: blisteringly fast, light, and fully customizable.
This guide walks through a production-ready config built on NvChad v2.5 with lazy.nvim. By the end, you'll have a terminal IDE with a sidebar file explorer, buffer tabs, LSP auto-completion, debugging, project scaffolding, one-key code running, and a full Git integration stack.
<leader>r — Run the current file in a terminal (supports 11 languages)
<leader>ni — Scaffold a new project for Go, Rust, C, C++, Java, Python, JS, TS, or PHP
Project Scaffolding
lua/configs/project_init.lua
A built-in project scaffolder triggered with <leader>ni. It detects the current filetype or lets you pick a language, then generates a starter project in a directory of your choice.
Format on save is enabled with a 500ms timeout and LSP fallback.
DAP Configurations
Language
Adapter
Notes
C / C++
codelldb
Prompts for executable path
Go
delve
Launch current file
Java
java-debug-adapter
Launch or attach to remote (port 5005)
DAP UI auto-opens on debug start and auto-closes on terminate.
Cheatsheet
Navigation
Key
Action
;
Enter command mode
jk
Escape insert mode
<C-p>
Find files
<C-f>
Live grep (project-wide)
<leader>fb
List buffers
<leader>fh
Help tags
<leader>fo
Recent files
<leader>/
Toggle comment
Code
Key
Action
gd
Go to definition
gD
Go to declaration
gI
Go to implementation
gr
LSP references
K
Hover docs
<leader>rn
Rename symbol
<leader>ca
Code actions
<leader>fm
Format file
<leader>r
Run current file
Project
Key
Action
<leader>ni
Scaffold new project
<leader>e
Focus file tree
<C-n>
Toggle file tree
Debugging (DAP)
Key
Action
<leader>db
Toggle breakpoint
<leader>dB
Conditional breakpoint
<leader>dc
Continue / start
<leader>dso
Step over
<leader>dsi
Step into
<leader>dsO
Step out
<leader>dt
Terminate
<leader>du
Toggle DAP UI
<leader>dr
Evaluate expression
<leader>dh
Hover evaluate
Buffers & Windows
Key
Action
Tab / S-Tab
Next / prev buffer
<leader>b
New buffer
<leader>x
Close buffer
C-h/C-l/C-j/C-k
Move between windows
:sp / :vsp
Split horizontal / vertical
Terminal
Key
Action
<A-i>
Floating terminal
<A-h>
Toggle horizontal terminal
<A-v>
Toggle vertical terminal
<leader>h
New horizontal split
<leader>v
New vertical split
C-x
Escape terminal mode
Vim Motions
Key
Action
w/b
Word forward / back
e
End of word
0/^/$
Start / first non-blank / end of line
gg/G
Top / bottom of file
Ctrl-d/Ctrl-u
Page down / up
zz
Center screen on cursor
%
Matching bracket
*/#
Search word under cursor
Visual Mode
Key
Action
V
Line select
v
Character select
Ctrl-v
Block select
y/d/p
Yank / delete / paste
o
Jump to other corner
Conclusion
This config turns Neovim into a full IDE without the bloat. You get file exploration, buffer tabs, LSP, debugging, formatting, Git integration, project scaffolding, and one-key code running — all in the terminal.
The modular structure keeps user overrides separate from NvChad defaults. Upgrades are painless: pull the latest NvChad branch and your configs stay intact.