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