╔══════════════════════════════════════════════════════════════════════════════╗ ║ 🚀 ULTIMATE NvChad CHEAT SHEET 🚀 ║ ║ Complete Reference - All Plugins & Vim ║ ║ Leader Key: SPACE ║ ╠══════════════════════════════════════════════════════════════════════════════╣
┌─ 🔥 ESSENTIAL WORKFLOW ──────┬─ 📁 FILES & SEARCH ─────────────────────────┐ │ Space Show all keys │ Space ff Find files │ │ Space ff Find files │ Space fa Find all files (+ hidden) │ │ Space fw Find text │ Space fw Live grep (search in files) │ │ Ctrl+n Toggle tree │ Space fb Find buffers │ │ Space e Focus tree │ Space fh Help pages │ │ Tab Next buffer │ Space fo Find recent files │ │ Shift+Tab Prev buffer │ Space fz Find in current buffer │ │ Space x Close buffer │ Space cm Git commits │ │ Ctrl+s Save file │ Space gt Git status │ │ gd Go definition │ /text Search in file │ │ K Show docs │ * Search word under cursor │ └──────────────────────────────┴──────────────────────────────────────────────┘
┌─ 🤖 COPILOT AI ──────────────┬─ 💬 COPILOT CHAT ───────────────────────────┐ │ Ctrl+J Accept suggest │ Space ccq Quick chat (ask anything) │ │ Ctrl+] Next suggest │ Space cci Custom input chat │ │ Ctrl+[ Prev suggest │ Space cce Explain selected code │ │ Ctrl+\ Trigger │ Space ccr Review selected code │ │ :Copilot auth Authenticate │ Space ccR Refactor/optimize code │ │ :Copilot stat Status │ Space cct Generate tests │ │ :Copilot en/dis Enable/Dis │ Space ccf Fix diagnostics │ │ │ Space ccn Better naming suggestions │ │ │ Space ccv Toggle chat window │ │ │ Space ccl Clear chat history │ │ │ Space ccm Generate commit msg (all) │ │ │ Space ccM Generate commit msg (staged) │ │ │ Space cch Help actions (Telescope) │ │ │ Space ccp Prompt actions (Telescope) │ └──────────────────────────────┴──────────────────────────────────────────────┘
┌─ 🧭 CODE NAVIGATION ─────────┬─ ⚡ LSP & DIAGNOSTICS ──────────────────────┐ │ gd Go definition │ Space ca Code actions │ │ gD Go declaration │ Space ra Rename symbol │ │ gi Go implement │ Space f Format document │ │ gr Find reference │ Space fm Format selection │ │ K Hover docs │ [d Previous diagnostic │ │ Ctrl+k Signature help │ ]d Next diagnostic │ │ Space D Type definitio │ Space e Show line diagnostics │ │ Ctrl+o Jump back │ Space q Diagnostic quickfix list │ │ Ctrl+i Jump forward │ Space wa Add workspace folder │ │ Space s Symbol search │ Space wr Remove workspace folder │ │ Space ds Document symb │ Space wl List workspace folders │ │ Space ws Workspace symb │ :LspInfo LSP information │ │ │ :checkhealth Check Neovim health │ └──────────────────────────────┴──────────────────────────────────────────────┘
┌─ 🪟 WINDOWS & BUFFERS ───────┬─ 💻 TERMINAL ───────────────────────────────┐ │ Ctrl+h Left window │ Alt+h Toggle horizontal terminal │ │ Ctrl+j Down window │ Alt+v Toggle vertical terminal │ │ Ctrl+k Up window │ Alt+i Toggle floating terminal │ │ Ctrl+l Right window │ Space h New horizontal terminal │ │ Space v Vertical split │ Space v New vertical terminal │ │ Space h Horizontal spl │ exit Exit terminal mode │ │ Tab Next buffer │ Ctrl+\ Toggle terminal │ │ Shift+Tab Previous buffe │ esc esc Exit terminal insert mode │ │ Space x Close buffer │ Ctrl+w N Terminal normal mode │ │ Space b New buffer │ i/a Terminal insert mode │ │ Ctrl+w c Close window │ :term Open terminal │ │ Ctrl+w o Close others │ :split term:// Horizontal terminal split │ │ Ctrl+w = Equal windows │ :vsplit term: Vertical terminal split │ └──────────────────────────────┴──────────────────────────────────────────────┘
┌─ 🌳 FILE TREE (NvimTree) ────┬─ 🔭 TELESCOPE ─────────────────────────────┐ │ Enter/o Open file │ Ctrl+n/p Next/Previous item │ │ Ctrl+v Open vertical │ Ctrl+j/k Move down/up │ │ Ctrl+x Open horizontal│ Enter Select item │ │ Ctrl+t Open new tab │ Ctrl+v Open in vertical split │ │ a Create file │ Ctrl+x Open in horizontal split │ │ A Create folder │ Ctrl+t Open in new tab │ │ d Delete │ Ctrl+c/Esc Close telescope │ │ r Rename │ Tab Toggle selection │ │ Ctrl+r Full rename │ Ctrl+q Send to quickfix │ │ c Copy │ Ctrl+u Scroll preview up │ │ x Cut │ Ctrl+d Scroll preview down │ │ p Paste │ ? Show help │ │ y Copy name │ Ctrl+/ Toggle preview │ │ Y Copy rel path │ Ctrl+_ Which key help │ │ gy Copy abs path │ M Toggle mark │ │ H Toggle hidden │ Alt+q Send all to quickfix │ │ I Toggle ignore │ Alt+l Send selected to loclist │ │ R Refresh │ Ctrl+w Preview scroll up │ │ W Collapse all │ Ctrl+e Preview scroll down │ │ E Expand all │ │ │ S Prompt removal │ │ │ q Close tree │ │ └──────────────────────────────┴──────────────────────────────────────────────┘
┌─ 🎯 AUTO-COMPLETION (cmp) ───┬─ 📝 COMMENTS & EDITING ────────────────────┐ │ Ctrl+n Next item │ gcc Toggle line comment │ │ Ctrl+p Previous item │ gc (visual) Toggle comment (selection) │ │ Ctrl+Space Trigger comp │ gbc Toggle block comment │ │ Enter Confirm select │ gb (visual) Toggle block (selection) │ │ Ctrl+e Close menu │ Space / Toggle comment line │ │ Ctrl+d Scroll docs dn │ i Insert before cursor │ │ Ctrl+f Scroll docs up │ I Insert at line start │ │ Tab Next (snippets)│ a Append after cursor │ │ Shift+Tab Prev (snippets)│ A Append at line end │ │ Ctrl+y Confirm │ o New line below │ │ Ctrl+[ Cancel │ O New line above │ │ │ c Change operator │ │ │ s Substitute character │ │ │ S Substitute line │ │ │ dd Delete line │ │ │ yy Yank (copy) line │ │ │ p Paste after │ │ │ P Paste before │ │ │ u Undo │ │ │ Ctrl+r Redo │ │ │ . Repeat last command │ └──────────────────────────────┴──────────────────────────────────────────────┘
┌─ 🌈 TREESITTER & TEXT OBJ ───┬─ 🔄 GIT INTEGRATION (Gitsigns) ────────────┐ │ af Around function │ ]c Next hunk │ │ if Inside function │ [c Previous hunk │ │ ac Around class │ Space hs Stage hunk │ │ ic Inside class │ Space hr Reset hunk │ │ aa Around argument │ Space hS Stage buffer │ │ ia Inside argument │ Space hu Undo stage hunk │ │ ab Around block │ Space hR Reset buffer │ │ ib Inside block │ Space hp Preview hunk │ │ Ctrl+Space Init selection │ Space hb Blame line │ │ BS Shrink select │ Space tb Toggle blame │ │ Enter Expand select │ Space hd Diff this │ │ Tab Expand scope │ Space hD Diff this ~ │ │ gnn Next node │ Space td Toggle deleted │ │ grn Rename node │ ih Inside hunk (text object) │ │ gra Rename all │ ah Around hunk (text object) │ └──────────────────────────────┴──────────────────────────────────────────────┘
┌─ 🎨 THEMES & UI ─────────────┬─ 🛠️ MASON & PLUGINS ──────────────────────┐ │ Space th Theme switcher │ :Mason Open Mason LSP manager │ │ Space tt Toggle transp │ :MasonInstall Install LSP server │ │ Space ch NvChad help │ :MasonUpdate Update all servers │ │ Space nu Update NvChad │ :Lazy Open Lazy plugin manager │ │ Space n Toggle numbers │ :Lazy install Install plugins │ │ Space rn Toggle rel num │ :Lazy update Update plugins │ │ Space i Indent guide │ :Lazy clean Clean unused plugins │ │ Space wk Which-key │ :Lazy sync Sync plugins │ │ Space nh Toggle hlsearch│ :Lazy check Check plugin status │ │ Space nw Toggle wrap │ :LspInstall Install language server │ │ Space cc Close all bufs │ :NvChadUpdate Update NvChad core │ │ Space nn Line numbers │ :checkhealth Check all health │ │ Space ur Update repos │ :help General help │ │ Space uv Update vim │ :version Show version info │ └──────────────────────────────┴──────────────────────────────────────────────┘
┌─ ↔️ VIM MOVEMENT ────────────┬─ 🔍 SEARCH & REPLACE ──────────────────────┐ │ h/j/k/l Left/Down/Up/R │ /pattern Search forward │ │ w Next word │ ?pattern Search backward │ │ W Next WORD │ n Next match │ │ b Previous word │ N Previous match │ │ B Previous WORD │ * Search word under cursor │ │ e End of word │ # Search word under cursor bwd │ │ E End of WORD │ :s/old/new Replace in line │ │ 0 Start of line │ :s/old/new/g Replace all in line │ │ ^ First non-blank│ :%s/old/new/g Replace all in file │ │ $ End of line │ :%s/old/new/gc Replace all with confirm │ │ gg Go to top │ :g/pattern/d Delete lines with pattern │ │ G Go to bottom │ :v/pattern/d Delete lines without pattern │ │ {number}G Go to line │ :noh Clear search highlight │ │ Ctrl+u Half page up │ qaq Clear register a │ │ Ctrl+d Half page down │ q: Command history │ │ Ctrl+b Full page up │ q/ Search history │ │ Ctrl+f Full page down │ :%!sort Sort all lines │ │ zt Cursor to top │ :set ic Ignore case search │ │ zz Cursor center │ :set noic Case sensitive search │ │ zb Cursor bottom │ \c Case insensitive (in search) │ │ f{char} Find character │ \C Case sensitive (in search) │ │ F{char} Find char back │ :%!uniq Remove duplicate lines │ │ t{char} Till character │ │ │ T{char} Till char back │ │ │ ; Repeat f/t │ │ │ , Repeat f/t back│ │ └──────────────────────────────┴──────────────────────────────────────────────┘
┌─ 👁️ VISUAL MODE ─────────────┬─ 📋 REGISTERS & MACROS ────────────────────┐ │ v Visual char │ "ay Yank to register a │ │ V Visual line │ "ap Paste from register a │ │ Ctrl+v Visual block │ :reg Show all registers │ │ gv Select last │ "" Unnamed register │ │ o Other end │ "0 Last yank register │ │ O Other corner │ "+ System clipboard │ │ y Yank selection │ "* System primary selection │ │ d Delete select │ "/ Last search pattern │ │ c Change select │ ": Last command │ │ r Replace select │ ". Last inserted text │ │ s Substitute sel │ "% Current file name │ │ u Lowercase │ "# Alternate file name │ │ U Uppercase │ qa Start recording macro a │ │ ~ Toggle case │ q Stop recording macro │ │ > Indent right │ @a Play macro a │ │ < Indent left │ @@ Repeat last macro │ │ = Auto-indent │ :let @a='' Clear macro a │ │ J Join lines │ qA Append to macro a │ │ gJ Join no space │ 5@a Execute macro a 5 times │ │ :'<,'>!cmd Filter through │ :g/pat/norm@a Execute macro on pattern │ └──────────────────────────────┴──────────────────────────────────────────────┘
┌─ 🗂️ TABS & FOLDS ────────────┬─ 📊 MARKS & JUMPS ─────────────────────────┐
│ :tabnew New tab │ ma Set mark a │
│ :tabclose Close tab │ 'a Jump to line with mark a │
│ :tabnext Next tab │ a Jump to mark a position │ │ :tabprev Previous tab │ '' Jump to previous line │ │ gt Next tab │ `` Jump to previous position │ │ gT Previous tab │ '. Jump to last edited line │ │ {num}gt Go to tab num │ . Jump to last edited position│
│ :tabmove Move tab │ :marks Show all marks │
│ za Toggle fold │ :delmarks a Delete mark a │
│ zA Toggle all fold │ :delmarks! Delete all lowercase marks │
│ zo Open fold │ Ctrl+o Jump back in jump list │
│ zO Open all folds │ Ctrl+i Jump forward in jump list │
│ zc Close fold │ :jumps Show jump list │
│ zC Close all folds │ g; Jump to last change │
│ zr Reduce fold │ g, Jump to next change │
│ zR Open all folds │ :changes Show change list │
│ zm More folds │ '' Jump to previous position │
│ zM Close all folds │ Ctrl+] Follow tag/definition │
│ zv View cursor │ Ctrl+t Jump back from tag │
│ zj Next fold │ gd Go to local definition │
│ zk Previous fold │ gD Go to global definition │
│ zi Toggle folding │ * Search word under cursor │
│ :set foldmeth Set fold method │ # Search word backward │
└──────────────────────────────┴──────────────────────────────────────────────┘
┌─ 🎮 COPILOT CHAT WINDOW ─────┬─ 🚨 QUICKFIX & LOCATION LIST ──────────────┐ │ q Close chat │ :copen Open quickfix window │ │ Ctrl+l Reset chat │ :cclose Close quickfix window │ │ Enter Submit prompt │ :cn Next quickfix item │ │ Ctrl+Enter Submit (insert) │ :cp Previous quickfix item │ │ Ctrl+y Accept diff │ :cc Go to quickfix item │ │ gy Yank diff │ :cfirst First quickfix item │ │ gd Show diff │ :clast Last quickfix item │ │ gp Show sys prompt │ :cdo cmd Execute cmd on each item │ │ gs Show user sel │ :colder Older quickfix list │ │ Tab Complete @/ │ :cnewer Newer quickfix list │ │ Ctrl+c Close (insert) │ :lopen Open location list │ │ /text Search in chat │ :lclose Close location list │ │ n/N Next/prev match │ :ln Next location item │ │ :%s///g Replace in chat │ :lp Previous location item │ │ :w Save chat hist │ :ll Go to location item │ │ :q Quit chat │ :lfirst First location item │ │ G Go to end │ :llast Last location item │ │ gg Go to start │ :ldo cmd Execute cmd on each loc item │ │ Ctrl+w hjkl Navigate window │ :lolder Older location list │ └──────────────────────────────┴──────────────────────────────────────────────┘
┌─ 🔧 FILE OPERATIONS ─────────┬─ 💾 SESSIONS & VIEWS ──────────────────────┐ │ :w Write (save) │ :mksession Make session │ │ :w filename Save as │ :mks! Overwrite session │ │ :wa Write all │ :source sess Load session │ │ :q Quit │ :mkvimrc Make vimrc │ │ :q! Quit no save │ :mkview Make view │ │ :wq Write and quit │ :loadview Load view │ │ :x Save and exit │ :viewoptions View options │ │ :qa Quit all │ :sessionopt Session options │ │ :wqa Save quit all │ vim -S Start with session │ │ :e filename Edit file │ vim -r Recover swap file │ │ :e! Reload file │ :set sessionopts Set session options │ │ :new New window │ :wall Write all files │ │ :vnew New vertical │ :qall Quit all windows │ │ :r filename Read file │ :wqall Write and quit all │ │ :r !command Read command │ :xa Write and exit all │ │ :cd path Change dir │ :browse e Browse and edit │ │ :pwd Print work dir │ :Sex Split explorer window │ │ :ls List buffers │ :Vex Vertical explorer window │ │ :b{num} Buffer number │ :Tex Tab explorer window │ │ :b{name} Buffer name │ :Hex Horizontal explorer │ │ :bn Next buffer │ :Lex Left explorer window │ │ :bp Previous buffer │ :Rex Return from explorer │ │ :bd Delete buffer │ :E Enhanced file browser │ │ :bufdo cmd Execute on bufs │ :Explore File explorer │ └──────────────────────────────┴──────────────────────────────────────────────┘
┌─ 🎯 WORKFLOW EXAMPLES ───────┬─ 🆘 HELP & TROUBLESHOOTING ────────────────┐ │ 1. Find & Open File: │ :help topic Get help on topic │ │ Space ff → type → Enter │ :h Short for help │ │ │ :helpgrep pat Search in help │ │ 2. Search Text in Project: │ :version Show version info │ │ Space fw → type → Enter │ :checkhealth Check neovim health │ │ │ :messages Show messages │ │ 3. Go to Definition & Back: │ :scriptnames Show loaded scripts │ │ gd → Ctrl+o │ :map Show all mappings │ │ │ :map Show mapping for key │ │ 4. AI Code Explanation: │ :verbose map Show mapping with source │ │ Select code → Space cce │ :set option? Show option value │ │ │ :set all Show all options │ │ 5. Quick Chat with AI: │ :syntax Show syntax info │ │ Space ccq → ask → Enter │ :highlight Show highlight groups │ │ │ :autocmd Show autocommands │ │ 6. Format Code: │ :function Show user functions │ │ Space ca → select format │ :command Show user commands │ │ │ :let Show variables │ │ 7. Git Stage Changes: │ :set Show changed options │ │ ]c → Space hp → Space hs │ :args Show argument list │ │ │ :pwd Show current directory │ │ 8. Find & Replace: │ :file Show current file info │ │ Space fw → /old → Ctrl+q │ :ls Show buffer list │ │ → :%s//new/gc │ :tabs Show tab list │ │ │ :registers Show register contents │ │ 9. Terminal Integration: │ :jumps Show jump list │ │ Alt+i → run commands │ :changes Show change list │ │ │ :marks Show mark list │ │ 10. Theme & Config: │ :undolist Show undo branches │ │ Space th → select theme │ :set rtp? Show runtime path │ │ Space ch → view help │ :echo $VIMRUNTIME Show vim runtime │ └──────────────────────────────┴──────────────────────────────────────────────┘
╚══════════════════════════════════════════════════════════════════════════════╝
🎯 QUICK START:
- Press SPACE and wait to see all options
- Space ff = Find files | Space fw = Find text | Ctrl+n = File tree
- gd = Go to definition | K = Show docs | Space ca = Code actions
- Space ccq = AI chat | Ctrl+J = Accept AI | Space cce = Explain code
🚀 ULTIMATE NvChad CHEAT SHEET 🚀
Complete Reference - All Plugins & Vim
Leader Key: SPACE
🔥 ESSENTIAL WORKFLOW
| Key | Action |
|---|---|
Space |
Show all keys |
Space ff |
Find files |
Space fw |
Live grep (search in files) |
Ctrl+n |
Toggle tree |
Space e |
Focus tree |
Tab |
Next buffer |
Shift+Tab |
Prev buffer |
Space x |
Close buffer |
Ctrl+s |
Save file |
gd |
Go to definition |
K |
Show docs |
📁 FILES & SEARCH
| Key | Action |
|---|---|
Space ff |
Find files |
Space fa |
Find all files (+ hidden) |
Space fw |
Live grep (search in files) |
Space fb |
Find buffers |
Space fh |
Help pages |
Space fo |
Find recent files |
Space fz |
Find in current buffer |
Space cm |
Git commits |
Space gt |
Git status |
/text |
Search in file |
* |
Search word under cursor |
🤖 COPILOT AI
| Key | Action |
|---|---|
Ctrl+J |
Accept suggestion |
Ctrl+] |
Next suggestion |
Ctrl+[ |
Prev suggestion |
Ctrl+\ |
Trigger Copilot |
:Copilot auth |
Authenticate |
:Copilot stat |
Status |
:Copilot en / :Copilot dis |
Enable / Disable |
💬 COPILOT CHAT
| Key | Action |
|---|---|
Space ccq |
Quick chat (ask anything) |
Space cci |
Custom input chat |
Space cce |
Explain selected code |
Space ccr |
Review selected code |
Space ccR |
Refactor / optimize code |
Space cct |
Generate tests |
Space ccf |
Fix diagnostics |
Space ccn |
Better naming suggestions |
Space ccv |
Toggle chat window |
Space ccl |
Clear chat history |
Space ccm |
Generate commit message (all) |
Space ccM |
Generate commit message (staged) |
Space cch |
Help actions (Telescope) |
Space ccp |
Prompt actions (Telescope) |
🧭 CODE NAVIGATION
| Key | Action |
|---|---|
gd |
Go to definition |
gD |
Go to declaration |
gi |
Go to implementation |
gr |
Find references |
K |
Hover docs |
Ctrl+k |
Signature help |
Space D |
Type definition |
Ctrl+o |
Jump back |
Ctrl+i |
Jump forward |
Space s |
Symbol search |
Space ds |
Document symbols |
Space ws |
Workspace symbols |
⚡ LSP & DIAGNOSTICS
| Key | Action |
|---|---|
Space ca |
Code actions |
Space ra |
Rename symbol |
Space f |
Format document |
Space fm |
Format selection |
[d |
Previous diagnostic |
]d |
Next diagnostic |
Space e |
Show line diagnostics |
Space q |
Diagnostic quickfix list |
:LspInfo |
LSP information |
:checkhealth |
Check Neovim health |
🪟 WINDOWS & BUFFERS
| Key | Action |
|---|---|
Ctrl+h/j/k/l |
Move between windows |
Space v |
Vertical split |
Space h |
Horizontal split |
Tab |
Next buffer |
Shift+Tab |
Previous buffer |
Space x |
Close buffer |
Space b |
New buffer |
Ctrl+w c |
Close window |
Ctrl+w o |
Close others |
Ctrl+w = |
Equal windows |
💻 TERMINAL
| Key | Action |
|---|---|
Alt+h |
Toggle horizontal terminal |
Alt+v |
Toggle vertical terminal |
Alt+i |
Toggle floating terminal |
Ctrl+\ |
Toggle terminal |
esc esc |
Exit terminal insert mode |
:term |
Open terminal |
🌳 FILE TREE (NvimTree)
| Key | Action |
|---|---|
Enter/o |
Open file |
Ctrl+v |
Open vertical split |
Ctrl+x |
Open horizontal split |
Ctrl+t |
Open in new tab |
a |
Create file |
A |
Create folder |
d |
Delete |
r |
Rename |
c |
Copy |
x |
Cut |
p |
Paste |
y |
Copy name |
Y |
Copy relative path |
gy |
Copy absolute path |
H |
Toggle hidden |
I |
Toggle ignore |
R |
Refresh |
W |
Collapse all |
E |
Expand all |
q |
Close tree |
🔭 TELESCOPE
| Key | Action |
|---|---|
Ctrl+n/p |
Next/Previous item |
Ctrl+j/k |
Move down/up |
Enter |
Select item |
Ctrl+v |
Open in vertical split |
Ctrl+x |
Open in horizontal split |
Ctrl+t |
Open in new tab |
Ctrl+c / Esc |
Close telescope |
Tab |
Toggle selection |
Ctrl+q |
Send to quickfix |
🎯 AUTO-COMPLETION (cmp)
| Key | Action |
|---|---|
Ctrl+n |
Next item |
Ctrl+p |
Previous item |
Ctrl+Space |
Trigger completion |
Enter |
Confirm selection |
Ctrl+e |
Close menu |
Ctrl+d/f |
Scroll docs down/up |
Tab |
Next snippet |
Shift+Tab |
Prev snippet |
Ctrl+y |
Confirm |
Ctrl+[ |
Cancel |
📝 COMMENTS & EDITING
| Key | Action |
|---|---|
gcc |
Toggle line comment |
gc (visual) |
Toggle comment selection |
gbc |
Toggle block comment |
gb (visual) |
Toggle block selection |
Space / |
Toggle comment line |
dd |
Delete line |
yy |
Yank (copy) line |
p |
Paste after |
P |
Paste before |
u |
Undo |
Ctrl+r |
Redo |
. |
Repeat last command |
💡 Pro Tips
- Press
Spaceto see all options with which-key :help <command>for detailed help:checkhealthto verify setup- Operators + motions = power moves (e.g.,
daw,yap)