Files
my-neovim-keybinding/README.md
2025-08-14 01:52:55 +00:00

29 KiB

╔══════════════════════════════════════════════════════════════════════════════╗ ║ 🚀 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

🔥 PRO TIPS:

  • Leader (Space) shows all available commands when pressed
  • Use :help for detailed help on any command
  • :checkhealth to verify your setup is working correctly
  • Most commands work in combination (operators + motions)
  • Visual mode first, then action for selections

💡 REMEMBER:

  • Vim is modal (Normal/Insert/Visual/Command modes)
  • Motions: w(word) e(end) b(back) 0() ^() gg(G) f(F) t(T)
  • Operators: d(delete) y(yank) c(change) >(indent) <(unindent)
  • Text objects: i/a + w(word) s(sentence) p(paragraph) b(block)

🚀 Master the basics first, then gradually learn advanced features!