--- title: "Neovim v0.12.2 Cheatsheet" author: "mw-pfeddersheim-workstation" date: "June 2026" --- # Neovim Cheatsheet **Version:** v0.12.2 (LuaJIT 2.1) **Config:** `~/.config/nvim/init.lua` ## Search ### Buffer Search (current file) | Command | Action | |---------|--------| | `/pattern` | Search forward | | `?pattern` | Search backward | | `n` | Next match (forward) | | `N` | Previous match (backward) | ### File Search (across files) | Command | Action | |---------|--------| | `:grep pattern` | Search current directory with ripgrep | | `:grep pattern /path/to/dir` | Search specific directory | | `:cfirst` | Jump to first match | | `:cnext` / `:cprev` | Next / previous match | | `:copen` | Open quickfix window with all results | | `:cclose` | Close quickfix window | ## Editing | Command | Action | |---------|--------| | `D` | Delete from cursor to end of line | | `d$` | Delete to end of line (same as `D`) | | `dd` | Delete entire line | | `C` | Change from cursor to end of line (delete + insert mode) | ## Text Objects Delete or operate on structured text by type: | Command | Action | |---------|--------| | `di{` | Delete **inside** `{}` (keeps braces) | | `da{` | Delete **a** `{}` (removes braces too) | | `di"` | Delete inside double quotes | | `da"` | Delete a double-quoted section | | `di(` | Delete inside parentheses | | `da(` | Delete a parenthesized section | | `di[` | Delete inside brackets | | `da[` | Delete a bracketed section | | `di<` | Delete inside angle brackets | | `da<` | Delete an angle-bracketed section | **Pattern:** `d` (delete) + `i` (inside) / `a` (around) + `{type}` **Also works with:** - `v` + text object — select (e.g. `vi{` selects inside braces) - `y` + text object — yank/copy (e.g. `ya{` copies including braces) - `c` + text object — change (e.g. `ci{` deletes + enters insert mode)