---
tags: [tooling, cheatsheet]
verified: 2026-09-01
---

# Neovim: рабочая справка

Короткая оперативная шпаргалка: открыть и быстро найти нужную команду во время работы.

Подробные пояснения по архитектуре `init.lua`, плагинам и зависимостям — в [Neovim: руководство по конфигурации](./nvim-guide.md).

## Режимы

| Клавиша | Переход в режим | Обратно в Normal |
|---------|-----------------|------------------|
| `i`     | Insert (перед курсором) | `Esc` |
| `a`     | Insert (после курсора) | `Esc` |
| `A`     | Insert (конец строки) | `Esc` |
| `o` / `O` | Insert (новая строка ниже / выше) | `Esc` |
| `v`     | Visual (посимвольно) | `Esc` |
| `V`     | Visual Line (построчно) | `Esc` |
| `:`     | Command-line | `Enter` / `Esc` |

## Навигация (Normal mode)

`h/j/k/l` — влево/вниз/вверх/вправо (замена стрелок)

`w` / `b` — вперёд/назад по словам, `e` — конец слова

`0` / `$` — начало/конец строки, `^` — первый непробельный символ

`gg` / `G` — начало/конец файла, `:{n}` — перейти к строке n

`Ctrl-d` / `Ctrl-u` — полэкрана вниз/вверх

`%` — перейти к парной скобке

## Грамматика команд

Формула: **[число] + глагол + объект**

Глаголы: `d` (delete), `c` (change — удалить и в Insert), `y` (yank/копировать), `v` (выделить)

Объекты: `w` (word), `$` (до конца строки), `0` (до начала строки), `G` (до конца файла), `iw` (inner word), `i"` (inside quotes), `i(` (inside parens), `a{` (around braces), `ip` (inner paragraph)

Примеры:

- `dw` — удалить слово
- `d$` или `D` — удалить до конца строки
- `ci"` — заменить содержимое кавычек
- `yap` — скопировать параграф с пустыми строками вокруг
- `3dd` — удалить 3 строки
- `d/foo` — удалить всё до первого вхождения "foo"

## Редактирование (Normal mode)

`dd` — удалить строку, `yy` — скопировать строку, `p` / `P` — вставить после/перед

`x` — удалить символ, `r{c}` — заменить символ на c

`u` — undo, `Ctrl-r` — redo

`.` — повторить последнюю команду (очень мощная штука)

`J` — склеить текущую строку со следующей

`~` — переключить регистр символа

## Поиск и замена

`/pattern` — искать вперёд, `?pattern` — назад

`n` / `N` — следующее/предыдущее совпадение

`*` / `#` — искать слово под курсором вперёд/назад

`:%s/old/new/g` — замена по всему файлу

`:%s/old/new/gc` — с подтверждением каждой замены

`:5,20s/old/new/g` — замена в строках 5-20

## Работа с файлами

`:w` — сохранить, `:q` — выйти, `:wq` или `ZZ` — сохранить и выйти

`:q!` — выйти без сохранения

`:e path/to/file` — открыть файл

`:r path/to/file` — вставить содержимое файла в текущий буфер

`:!command` — выполнить shell-команду, `:r !command` — вставить её вывод

## Visual mode

`v` → выделяем движением → действие (`d`, `y`, `c`, `>`, `<`)

`V` — выделить строку, далее `j`/`k` для расширения

`Ctrl-v` — блочное выделение (колоночное редактирование)

`gv` — повторить последнее выделение

В Visual Block (`Ctrl-v`): выделить колонку → `I` → ввести текст → `Esc` — вставка во все строки

## Макросы (когда наигрался с основами)

`qa` — начать запись макроса в регистр `a`

Делаешь действия...

`q` — остановить запись

`@a` — воспроизвести, `5@a` — воспроизвести 5 раз

## Полезные мелочи

`Ctrl-o` / `Ctrl-i` — назад/вперёд по истории позиций (jump list)

`zz` — центрировать экран на курсоре

`:set paste` / `:set nopaste` — режим вставки из буфера (без авто-отступов)

`ga` — показать код символа под курсором

`:earlier 5m` / `:later 5m` — состояние файла 5 минут назад/вперёд (undo tree по времени)

---

## Связанные заметки

- [Neovim: руководство по конфигурации](./nvim-guide.md) — архитектура конфига, плагины и их настройка
- [tmux cheatsheet](./tmux-cheatsheet.md) — мультиплексор, в котором обычно запускается Neovim
- [Fish Shell — справка](./fish-reference.md) — оболочка из того же рабочего набора
- [CLI-инструменты поиска: ripgrep, fd, fzf, jq](./cli-search-toolkit.md) — как попасть в нужный файл и нужную строку до запуска редактора
- [Hyprland: горячие клавиши и скретчпады](./setups/cachyos-desktop/hyprland-keybindings.md) — соседняя шпаргалка: клавиши окружения
