# Complete Keymaps Reference **Leader Key: ``** ## Table of Contents - [Navigation](#navigation) - [File Management](#file-management) - [Editing](#editing) - [LSP & Code Intelligence](#lsp--code-intelligence) - [Git](#git) - [Debugging](#debugging) - [Search & Replace](#search--replace) - [Tasks & HTTP](#tasks--http) - [UI & Productivity](#ui--productivity) - [Language Specific](#language-specific) - [Window Management](#window-management) --- ## Navigation ### Flash (Jump Anywhere) | Key | Mode | Action | |-----|------|--------| | `s` | n, x, o | Flash jump (type chars to jump) | | `S` | n, x, o | Flash treesitter select | | `r` | o | Remote flash | | `R` | o, x | Treesitter search | | `` | c | Toggle flash in search | ### Harpoon (Quick File Marks) | Key | Action | |-----|--------| | `ha` | Add current file to harpoon | | `hh` | Open harpoon menu | | `1` | Jump to harpoon file 1 | | `2` | Jump to harpoon file 2 | | `3` | Jump to harpoon file 3 | | `4` | Jump to harpoon file 4 | | `5` | Jump to harpoon file 5 | | `hp` | Previous harpoon file | | `hn` | Next harpoon file | ### Portal (Jumplist Navigation) | Key | Action | |-----|--------| | `pj` | Portal jumplist backward | | `pk` | Portal jumplist forward | | `pc` | Portal changelist backward | | `pq` | Portal quickfix backward | ### Navbuddy (Code Structure) | Key | Action | |-----|--------| | `nb` | Open Navbuddy | Inside Navbuddy: - `h/j/k/l` - Navigate - `` - Select - `0` - Go to root - `q` - Close ### Telescope | Key | Action | |-----|--------| | `ff` | Find files | | `fs` | Live grep (search text) | | `fg` | Git files | | `fF` | Find all files | | `fr` | Recent files | --- ## File Management ### File Explorer (nvim-tree) | Key | Action | |-----|--------| | `e` | Toggle file explorer | | `ee` | Toggle file explorer | | `nt` | Find current file in tree | | `ec` | Collapse file explorer | | `er` | Refresh file explorer | Inside nvim-tree: - `o` - Open file - `s` - Open in vertical split - `i` - Open in horizontal split - `a` - Create new file - `r` - Rename - `d` - Delete - `x` - Cut - `y` - Copy - `p` - Paste - `u` - Go up one directory ### Buffers | Key | Action | |-----|--------| | `` | Next buffer | | `` | Previous buffer | | `bd` | Close buffer | | `bD` | Force close buffer | --- ## Editing ### Multi-Cursor (vim-visual-multi) | Key | Action | |-----|--------| | `` | Select word under cursor / Add next occurrence | | `` | Add cursor below | | `` | Add cursor above | | `` | Select all occurrences | | `` | Skip current match | | `` | Remove current cursor | | `` | Exit multi-cursor | ### Yanky (Yank Ring) | Key | Mode | Action | |-----|------|--------| | `y` | n, x | Yank | | `p` | n, x | Put after | | `P` | n, x | Put before | | `` | n | Previous yank in ring | | `` | n | Next yank in ring | | `yh` | n | Open yank history | | `]p` | n | Put indented after | | `[p` | n | Put indented before | ### Treesj (Split/Join) | Key | Action | |-----|--------| | `tj` | Toggle split/join | | `ts` | Split code block | | `tJ` | Join code block | ### Dial (Smart Increment) | Key | Mode | Action | |-----|------|--------| | `` | n, v | Increment | | `` | n, v | Decrement | | `g` | n, v | Increment (sequence) | | `g` | n, v | Decrement (sequence) | Works on: numbers, booleans, dates, CSS units, HTTP methods, operators, and more! ### Surround | Key | Action | |-----|--------| | `ys{motion}{char}` | Add surround | | `ds{char}` | Delete surround | | `cs{old}{new}` | Change surround | Examples: - `ysiw"` - Surround word with quotes - `ds"` - Delete surrounding quotes - `cs"'` - Change " to ' ### Comments | Key | Mode | Action | |-----|------|--------| | `gcc` | n | Toggle line comment | | `gc` | v | Toggle comment selection | | `gbc` | n | Toggle block comment | | `/` | n, v | Toggle comment | ### Substitute | Key | Action | |-----|--------| | `sub` | Substitute with motion | | `sl` | Substitute line | | `S` | Substitute to end of line | ### Undo Tree | Key | Action | |-----|--------| | `tu` | Toggle undo tree | --- ## LSP & Code Intelligence ### LSP Saga | Key | Action | |-----|--------| | `K` | Hover documentation | | `gd` | Peek definition | | `gD` | Go to definition | | `gt` | Peek type definition | | `gT` | Go to type definition | | `gh` | LSP finder (refs + impl) | | `gr` | Rename | | `gR` | Rename (project-wide) | | `ca` | Code actions | | `sl` | Show line diagnostics | | `sc` | Show cursor diagnostics | | `sb` | Show buffer diagnostics | | `[d` | Previous diagnostic | | `]d` | Next diagnostic | | `ci` | Incoming calls | | `co` | Outgoing calls | | `so` | Toggle LSP outline | ### Inc-Rename (Live Preview) | Key | Action | |-----|--------| | `rn` | Rename with live preview | ### Outline | Key | Action | |-----|--------| | `cs` | Toggle symbol outline | ### Formatting | Key | Action | |-----|--------| | `f` | Format buffer | | `mm` | Format with conform | ### Regexplainer | Key | Action | |-----|--------| | `rx` | Toggle regex explanation | --- ## Git ### LazyGit | Key | Action | |-----|--------| | `gg` | Open LazyGit | ### Neogit | Key | Action | |-----|--------| | `gn` | Open Neogit | | `gnc` | Neogit commit | | `gnp` | Neogit push | | `gnl` | Neogit pull | | `gnb` | Neogit branch | ### Diffview | Key | Action | |-----|--------| | `gd` | Open diffview | | `gD` | Close diffview | | `gh` | File history (current file) | | `gH` | File history (repo) | ### Git Blame | Key | Action | |-----|--------| | `gB` | Toggle git blame | | `gbc` | Copy commit SHA | | `gbo` | Open commit URL | | `gbf` | Open file URL | ### Octo (GitHub) | Key | Action | |-----|--------| | `oi` | List issues | | `oI` | Create issue | | `op` | List PRs | | `oP` | Create PR | | `or` | List repos | | `os` | Search issues/PRs | | `oa` | Octo actions | ### Gitsigns | Key | Action | |-----|--------| | `]c` | Next hunk | | `[c` | Previous hunk | | `hs` | Stage hunk | | `hr` | Reset hunk | | `hp` | Preview hunk | --- ## Debugging ### DAP (Debug Adapter Protocol) | Key | Action | |-----|--------| | `db` | Toggle breakpoint | | `dcc` | Start/Continue debugging | | `di` | Step into | | `do` | Step over | | `dO` | Step out | | `dr` | Toggle REPL | | `dl` | Run last debug config | | `du` | Toggle DAP UI | | `dt` | Float element | | `dco` | DAP commands | | `dcf` | List DAP configs | | `dcb` | List breakpoints | ### Java Debugging | Key | Action | |-----|--------| | `jd` | Debug class | | `jt` | Test class | | `jn` | Test nearest method | | `jr` | Run Java file | --- ## Search & Replace ### Grug-Far (Project-Wide) | Key | Mode | Action | |-----|------|--------| | `sr` | n | Open search & replace | | `sR` | n | Search current word | | `sR` | v | Search selection | Inside Grug-Far: - `r` - Replace - `R` - Replace all - `` - Go to location - `q` - Close ### SSR (Structural Search/Replace) | Key | Mode | Action | |-----|------|--------| | `sR` | n, x | Structural search/replace | --- ## Tasks & HTTP ### Overseer (Task Runner) | Key | Action | |-----|--------| | `or` | Run task | | `ot` | Toggle task list | | `oa` | Task action | | `oq` | Quick action | | `ob` | Build | | `oc` | Run shell command | ### Kulala (HTTP Client) | Key | Action | |-----|--------| | `kr` | Run HTTP request | | `ka` | Run all requests | | `kp` | Previous request | | `kn` | Next request | | `ki` | Inspect request | | `kt` | Toggle headers/body | | `kc` | Copy as cURL | | `ke` | Set environment | --- ## UI & Productivity ### Zen Mode & Focus | Key | Action | |-----|--------| | `zz` | Toggle Zen mode | | `zt` | Toggle Twilight (dim code) | ### Session | Key | Action | |-----|--------| | `qs` | Restore session | | `ql` | Restore last session | | `qd` | Don't save session | ### Learning Vim | Key | Action | |-----|--------| | `ht` | Toggle Hardtime | | `vp` | Toggle Precognition hints | | `vP` | Peek Precognition | ### Screenkey (Demo Mode) | Key | Action | |-----|--------| | `sk` | Toggle Screenkey | ### Trouble (Diagnostics) | Key | Action | |-----|--------| | `xx` | Toggle Trouble | | `xw` | Workspace diagnostics | | `xd` | Document diagnostics | | `xl` | Location list | | `xq` | Quickfix list | | `xt` | Open TODOs in Trouble | ### Todo Comments | Key | Action | |-----|--------| | `]t` | Next TODO | | `[t` | Previous TODO | --- ## Language Specific ### Python | Key | Action | |-----|--------| | `vs` | Select Python venv | | `vc` | Select cached venv | ### JavaScript/TypeScript (package.json) | Key | Action | |-----|--------| | `ns` | Show package versions | | `nh` | Hide package info | | `nu` | Update package | | `nd` | Delete package | | `ni` | Install package | | `nc` | Change version | ### Rust (Cargo.toml) | Key | Action | |-----|--------| | `ct` | Toggle crates | | `cr` | Reload crates | | `cv` | Show versions popup | | `cf` | Show features popup | | `cd` | Show dependencies | | `cu` | Update crate | | `cU` | Upgrade crate | ### LeetCode | Key | Action | |-----|--------| | `lr` | Run code | | `ls` | Submit code | | `ld` | Daily challenge | | `ll` | List problems | | `lc` | Open console | | `lh` | Show hints | --- ## Window Management ### Splits | Key | Action | |-----|--------| | `sv` | Split vertical | | `sh` | Split horizontal | | `se` | Equal splits | | `sx` | Close split | | `sm` | Maximize split | ### Navigation | Key | Action | |-----|--------| | `` | Move to left window | | `` | Move to down window | | `` | Move to up window | | `` | Move to right window | ### Resize | Key | Action | |-----|--------| | `` | Increase height | | `` | Decrease height | | `` | Decrease width | | `` | Increase width | --- ## General | Key | Action | |-----|--------| | `jj` | Exit insert mode | | `nh` | Clear search highlights | | `w` | Save file | | `q` | Close file | | `Q` | Quit all | | `xa` | Save and close all | --- ## Commands | Command | Description | |---------|-------------| | `:Lazy` | Plugin manager | | `:Mason` | LSP server manager | | `:Navbuddy` | Code navigation | | `:Outline` | Symbol outline | | `:Neogit` | Git interface | | `:DiffviewOpen` | Diff view | | `:GrugFar` | Search & replace | | `:Octo` | GitHub | | `:OverseerRun` | Run tasks | | `:ZenMode` | Zen mode | | `:Hardtime toggle` | Toggle hardtime | | `:Screenkey` | Show keypresses | | `:TSJToggle` | Toggle split/join |