Основы
Некоторые из нижеописанных команд начинаются с двоеточия: нажав его, появится подсказка, в которой будет указана полная команда. Команды без двоеточий — это скорее горячие клавиши, которые можно использовать в режиме по умолчанию (в нём запускается Vim). Команды, написанные ЗАГЛАВНЫМИ БУКВАМИ — это отдельные клавиши: например, ESC — это клавиша Esc на вашей клавиатуре.
Все команды чувствительны к регистру и должны выполняться вне режима insert.
Выход из Vim
Выход без сохранения изменений:
:q!
Выход с сохранением изменений:
:wq
Навигация
Для перемещения по открытому файлу используйте стрелки.
Перемещение на строку 285:
:285
Поиск слова «import»:
/import
Изменение текста
Вставка текста там, где стоит курсор:
i
Вставка текста в конце текущей строки:
A
Выход из режима редактирования (возврат в стандартный режим):
ESC
Выделение текста
Переход в визуальный режим:
v
Для выделения текста используйте стрелки.
Выход из визуального режима:
ESC
Копирование, удаление, вставка
Копирование выделенного текста в буфер:
y
Удаление выделенного текста:
d
Копирование текущей строки в буфер:
yy
Копирование трёх строк, включая текущую, в буфер:
3yy
Удаление текущей строки и помещение её в буфер:
dd
Удаление 5 строк, включая текущую:
5dd
Вставка из буфера перед текущей строкой:
P
Примечание: заглавная P
Вставка из буфера после текущей строки:
p
Отмена и восстановление последнего изменения
Отмена последнего изменения:
u
Восстановление последнего отменённого изменения:
CTRL + R
Вывод изменений:
:undolist
Отмена двух последних изменений:
2u
Многоуровневое дерево отката изменений Vim очень мощное, подробнее о нём можно почитать в документации.
Работа с файлом
Открытие файла index.html вместо текущего:
:edit index.html
Сохранение текущего файла:
:w
Сохранение файла с изменённым именем, например, changes.txt:
:w changes.txt
Поиск и замена
Поиск и замена всех вхождений строки в файле:
:%s/typo/corrected/g
Поиск и замена с запросом подтверждения замены:
:%s/typo/corrected/gc
Как запомнить: confirm
Подсветка синтаксиса и отступы
Включение подсветки синтаксиса:
:syntax on
Включение автоматических отступов:
:set autoindent
Увеличение отступов нескольких строк при выделении их в визуальном режиме:
>
Вкладки
Открытие server.py в новой вкладке:
:tabe server.py
Переход на вкладку справа:
:tabn
Переход на предыдущую вкладку слева:
:tabp
Для закрытия вкладки переключитесь на неё и используйте команду :q или :wq.
Разделённый экран
Открытие templates/base.html в режиме вертикального разделения экрана:
:vs templates/base.html
Открытие shared.js в режиме горизонтального разделения экрана:
:sp shared.js
Перемещение между «частями» экрана:
CTRL + W + ARROW KEYS
Для закрытия экрана переключитесь на него и используйте команду :q или :wq.
Настройка Vim: файл .vimrc
Многие команды, используемые для изменения вида и поведения Vim, можно сделать включёнными по умолчанию, поместив их в .vimrc — файл конфигурации Vim, который расположен в домашнем каталоге.
Например, добавление этих строк в ~/.vimrc сделает подсветку синтаксиса и автоматическую корректировку отступов включёнными по умолчанию:
syntax on
set autoindent
Идеи для кастомизации Vim можно почерпнуть в этом GitHub-репозитории.
Полезные ресурсы
Вот ещё несколько полезных материалов для изучения Vim:
