Полезные встроенные команды
Quickfix и location-списки
:vimgrep /шаблон/ **/* " Поиск по файлам, заполнить quickfix
:copen " Открыть окно quickfix
:cnext / :cprev " Навигация по записям quickfix
Макросы
Макросы записывают последовательность нажатий и воспроизводят их:
q{регистр}— Начать запись (например,qaдля записи в регистрa)- Выполнить правки
q— Остановить запись@{регистр}— Воспроизвести (например,@a)@@— Воспроизвести последний макрос
Регистры
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 ║
╚═══════════════════╧════════════════════╧═════════════════════╝