← Назад к обзору

Полезные встроенные команды

Quickfix и location-списки

:vimgrep /шаблон/ **/*     " Поиск по файлам, заполнить quickfix
:copen                       " Открыть окно quickfix
:cnext / :cprev              " Навигация по записям quickfix

Макросы

Макросы записывают последовательность нажатий и воспроизводят их:

  1. q{регистр} — Начать запись (например, qa для записи в регистр a)
  2. Выполнить правки
  3. q — Остановить запись
  4. @{регистр} — Воспроизвести (например, @a)
  5. @@ — Воспроизвести последний макрос

Регистры

Neovim имеет именованные регистры для хранения текста:

РегистрСодержимое
""По умолчанию (последнее удаление/копирование)
"0Последнее копирование
"1-"9Последние 9 удалений
"a-"zИменованные регистры (задаются пользователем)
"+Системный буфер обмена
"*Буфер обмена выделения
".Последний вставленный текст
"%Имя текущего файла
":Последняя Ex-команда

Чтобы вставить из конкретного регистра: "ap (вставить из регистра a).

Метки

Метки сохраняют позиции курсора:

МеткаОписание
maУстановить метку a в текущей позиции
`aПерейти к точной позиции метки a
'aПерейти к строке метки a
''Перейти к позиции перед последним прыжком
'.Перейти к позиции последнего изменения

Заглавные метки (mA) — глобальные (работают между файлами).

Другие полезные команды

КомандаОписание
gaПоказать ASCII/Unicode-значение символа под курсором
g Ctrl-gИнформация о количестве слов и позиции
Ctrl-aУвеличить число под курсором
Ctrl-xУменьшить число под курсором
:!{команда}Выполнить внешнюю команду оболочки
!!{команда}Пропустить текущую строку через команду
:{диапазон}!{команда}Пропустить диапазон через команду
r !{команда}Вставить вывод команды под курсором
:r {файл}Вставить содержимое файла под курсором
q{перемещение}Форматовать (переносить) текст
Ctrl-oПерейти к более старой позиции (работает и в режиме вставки)
Ctrl-iПерейти к более новой позиции

Шпаргалка

╔══════════════════════════════════════════════════════════════╗
║                   NEOVIM — ШПАРГАЛКА                         ║
╠══════════════════════════════════════════════════════════════╣
║ НАВИГАЦИЯ         │ РЕДАКТИРОВАНИЕ     │ ФАЙЛЫ               ║
║ h j k l           │ i a o O            │ :w :q :wq           ║
║ w b e             │ dd yy              │ :e {файл}           ║
║ 0 ^ $             │ p P                │ :bn :bp             ║
║ gg G              │ u Ctrl-r           │ :bd                 ║
║ Ctrl-u Ctrl-d     │ x X                │                     ║
║ /шаблон n N       │ c m. t             │                     ║
║                   │ .                  │                     ║
╠═══════════════════╪════════════════════╪═════════════════════╣
║ ТЕКСТ. ОБЪЕКТЫ    │ ОКНА               │ ПОИСК/ЗАМЕНА        ║
║ iw aw             │ Ctrl-w s v         │ :%s/стар/нов/g      ║
║ i" a"             │ Ctrl-w h j k l     │ :%s/стар/нов/gc     ║
║ i( i)             │ Ctrl-w o           │                     ║
║ i{ i}             │ Ctrl-w =           │                     ║
║ it at             │                    │                     ║
║ ip ap             │                    │                     ║
╠═══════════════════╪════════════════════╪═════════════════════╣
║ ВИЗУАЛЬНЫЙ РЕЖИМ  │ ТЕРМИНАЛ           │ МЕТКИ И РЕГИСТРЫ    ║
║ v V Ctrl-v        │ :term              │ ma 'a               ║
║ d y c > <         │ Ctrl-\ Ctrl-N      │ "ayy "ap            ║
║ J K (двигать)     │                    │ "+y  "+p            ║
╚═══════════════════╧════════════════════╧═════════════════════╝