# Keymap Reference Living reference of every explicit keymap defined in this config. Use `:KeymapsGuide` to open this file inside Neovim in a floating window. ## `lua/keymaps.lua` | Mode | Key | Description | Notes | | --- | --- | --- | --- | | n | `gd` | Vim goto-definition fallback | Executes `normal! gd` for tags/include jumps when no LSP | | n | `gD` | Vim goto-declaration fallback | Executes `normal! gD` | | n | `gr` | LSP references placeholder | `` so LSP buffers can override cleanly | | n | `gI` | LSP implementation placeholder | `` so LSP buffers can override cleanly | | n | `K` | Keyword help fallback | Uses `keywordprg` (e.g., `man`) when LSP hover is unavailable | | n | `xx` | Diagnostics → location list | Populates current buffer diagnostics | | n | `xX` | Diagnostics → quickfix | Populates project-wide diagnostics | | n | `xe` | Diagnostics → buffer errors | Location list filtered to errors | | n | `xE` | Diagnostics → all errors | Quickfix filtered to errors | | n | `[d` | Diagnostics: previous item | Uses `vim.diagnostic.goto_prev` | | n | `]d` | Diagnostics: next item | Uses `vim.diagnostic.goto_next` | | n | `xd` | Diagnostic float | Opens hover window for cursor diagnostic | | n | `xt` | Toggle diagnostics | Flips `vim.diagnostic.enable()` | | n | `hi` | Highlight inspector | Shows highlight/capture stack under cursor | ## `lua/netrw-config.lua` | Mode | Key | Description | | --- | --- | --- | | n | `te` | Open netrw in a new tab rooted at current file directory | | n | `tE` | Open netrw in a new tab rooted at project cwd | ## `lua/plugins/lsp.lua` *(buffer-local when an LSP client attaches)* | Mode | Key | Description | | --- | --- | --- | | n | `gd` | LSP: go to definition | | n | `gr` | LSP: references | | n | `gD` | LSP: declaration | | n | `gI` | LSP: implementation | | n | `K` | LSP hover | ## `lua/plugins/none-ls.lua` | Mode | Key | Description | | --- | --- | --- | | n | `lt` | Toggle format-on-save flag | | n | `lf` | Format current buffer (synchronous) | | v | `lf` | Format visual selection | ## `lua/plugins/gitsigns.lua` *(buffer-local when inside a git repo)* | Mode | Key | Description | | --- | --- | --- | | n | `]h` | Next hunk (`expr` mapping that respects `diff` windows) | | n | `[h` | Previous hunk | | n | `hs` | Stage current hunk | | n | `hr` | Reset current hunk | | v | `hs` | Stage visually selected range as hunk | | v | `hr` | Reset visually selected range | | n | `hS` | Stage entire buffer | | n | `hu` | Undo last staged hunk | | n | `hR` | Reset entire buffer | | n | `hp` | Preview hunk | | n | `hd` | Diff against index | | n | `hD` | Diff against previous commit (`~`) | | o/x | `ih` | Text object: select git hunk | ## `lua/plugins/telescope.lua` ### Launcher mappings (normal mode) | Key | Description | | --- | --- | | `ff` | Find files | | `fg` | Live grep | | `fb` | Open buffers picker (`` deletes buffers in picker) | | `fh` | Help tags | | `fr` | Recent files (oldfiles) | | `/` | Fuzzy search current buffer | | `fk` / `?` | Telescope keymaps picker | | `fc` | Commands picker | | `fs` | LSP document symbols | | `fS` | LSP workspace symbols | ### Telescope prompt mappings (`defaults.mappings`) | Mode | Key | Description | | --- | --- | --- | | i | `` / `` | Move selection down | | i | `` / `` | Move selection up | | i | `` | Close picker | | i | `` | Accept selection | | i | `` | Open selection in horizontal split | | i | `` | Open selection in vertical split | | i | `` | Open selection in tab | | n | `` | Close picker | | n | `` | Accept selection | | n | `` | Horizontal split | | n | `` | Vertical split | | n | `` | New tab | | n | `j` | Move selection down | | n | `k` | Move selection up | ### Picker-specific overrides | Context | Mode | Key | Description | | --- | --- | --- | --- | | `buffers` picker | i | `` | Delete highlighted buffer | ## `lua/plugins/oil.lua` ### Global launcher mappings | Mode | Key | Description | | --- | --- | --- | | n | `fo` | Open Oil in current window | | n | `fO` | Open Oil in floating window | ### Oil buffer mappings (`opts.keymaps`) | Key | Description | | --- | --- | | `g?` | Show Oil help | | `` | Open entry in current window | | `` | Open entry in vertical split | | `` | Open entry in horizontal split | | `` | Open entry in new tab | | `` | Preview entry (vertical split belowright) | | `` | Close Oil | | `` | Refresh | | `-` | Go to parent directory | | `_` | Open Neovim cwd | | `` ` `` | `:cd` into entry | | `~` | `:tcd` into entry | | `gs` | Change sort mode | | `gx` | Open entry externally | | `g.` | Toggle hidden files | | `g\` | Toggle trash visibility | ## `lua/plugins/ufo.lua` | Mode | Key | Description | | --- | --- | --- | | n | `zR` | Open all folds | | n | `zM` | Close all folds | | n | `zr` | Open folds except configured kinds | | n | `zm` | Close folds with configured kinds | | n | `K` | Peek fold under cursor; falls back to LSP hover | | preview window | `` / `` | Scroll within UFO preview | | preview window | `[` / `]` | Jump to top/bottom of preview | ## `lua/plugins/undotree.lua` | Mode | Key | Description | | --- | --- | --- | | n | `u` | Toggle Undotree panel | ## `lua/plugins/treesitter.lua` ### Incremental selection | Key | Description | | --- | --- | | `` | Initialize/expand selection | | `` | Expand to scope | | `` | Shrink selection | ### Textobject selection (`select.keymaps`) | Key | Target | | --- | --- | | `af` / `if` | Function outer / inner | | `ac` / `ic` | Class outer / inner | | `aa` / `ia` | Parameter outer / inner | | `ai` / `ii` | Conditional outer / inner | | `al` / `il` | Loop outer / inner | | `a/` | Comment outer | ### Textobject movement (`move` mappings) | Key | Action | | --- | --- | | `]f` / `]F` | Next function start / end | | `[f` / `[F` | Previous function start / end | | `]c` / `]C` | Next class start / end | | `[c` / `[C` | Previous class start / end | | `]a` / `]A` | Next parameter start / end | | `[a` / `[A` | Previous parameter start / end | ### Parameter swapping | Key | Description | | --- | --- | | `a` | Swap parameter with next | | `A` | Swap parameter with previous | ## `lua/plugins/comment.lua` | Mapping | Description | | --- | --- | | `gcc` | Toggle line comment | | `gbc` | Toggle block comment | | `gc` | Operator-pending line comment | | `gb` | Operator-pending block comment | | `gcO` / `gco` / `gcA` | Insert comment above / below / end-of-line | ## `lua/plugins/surround.lua` | Mode | Mapping | Description | | --- | --- | --- | | normal | `ys{motion}{char}` | Add surround to motion | | normal | `yss` | Surround current line | | normal | `yS` | Surround motion with linewise behavior | | normal | `ySS` | Surround current line linewise | | insert | `s` | Surround following text object | | insert | `S` | Surround current line | | visual | `S` | Surround selection | | visual line | `gS` | Surround visual-line selection | | normal | `ds{char}` | Delete surround | | normal | `cs{old}{new}` | Change surround | | normal | `cS{old}{new}` | Change surround (linewise) | ## `lua/plugins/cmp.lua` | Mode | Key | Description | | --- | --- | --- | | insert | `` | Manually trigger completion | | insert | `` | Confirm selection (selects first item by default) | | insert | `` | Next completion item | | insert | `` | Previous completion item | | insert | `` | Abort completion menu | ## `lua/plugins/autopairs.lua` | Mode | Key | Description | | --- | --- | --- | | insert | `` | Fast wrap the previous text with a pair | ## `lua/keymaps_reference.lua` | Command | Description | | --- | --- | | `:KeymapsGuide` | Open this reference in a floating window (read-only) |