╔══════════════════════════════════════════════════════════════════════════════╗ ║ 🚀 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: 1. Press SPACE and wait to see all options 2. Space ff = Find files | Space fw = Find text | Ctrl+n = File tree 3. gd = Go to definition | K = Show docs | Space ca = Code actions 4. 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 `Space` to see all options with **which-key** - `:help ` for detailed help - `:checkhealth` to verify setup - Operators + motions = power moves (e.g., `daw`, `yap`) ---