vimtutor - очень хороший автотуториал
Режимы работы
1. normal
- Режим по умолчанию
- Любая клавиша воспринимается как команда
- "Сложные" команды начинаются с `:`
2. insert
- Режим ввода текста - все, что вы нажимаете, вставляется (заменяется)
- Выход через
3. visual
- Режим выделения
Вход
vim
vim файл
vim файл1 файл2
Основные команды
- Сохранение работы
:w - сохранить изменение
:w <файл> - сохранить изменение в <файл>
:wq - cохранить и выйти
:q - выход
:q! - выход без сохранений
Shift + zz - быстрый выход с сохранением
- Отмена/возврат
u - отменить последнее действие
<Ctrl+r> - вернуть отмененное действие
- Справка
:help - справка
:help <команда> - справка по команде
Перемещение
- По символам:
Стрелочки
h,j,k,l
- По словам:
w, W - в начало следующего слова
e, E - в конец
b, B - в начало предыдущего
- Еще крупнее:
0 - начало строки
^ - первый не пробельный символ
$ - конец строки
- Совсем крупно
gg - начало файла
G - конец
:21
<Ctrl+D>, <Ctrl+U> - вниз/верх на N строчек, где N обычно пол-экрана
Удаление
- По символам
x - символ пол курсором
X - символ до курсора
- Сразу много
d[<количество>] <ход> - ход стрелками: верх - текущею и верхнею, вниз - текущею и нижнею, влево - левый, вправо - текущий
de - до конца текущего слова
d$ - до конца строки
d5w - удалить 5 слов
- Специальная команды
dd - удалить строку
d10d - удалить 10 строк
Создание
i - войти в insertion mode
a - сдвинуть курсор вправо и войти в insertion mode
I, ^i - переход на первый не пробельный символ и вход в insertion mode
A, $a - переход в конец строки и вход в insertion mode
o - вставить пустую строку снизу и редактировать ее
O - вставить пустую строку сверху и редактировать ее
Копирование
- Скопировать
y<кол-во><ход> - скопировать
yy - скопировать строку
- Вставить
p - вставить перед
P - вставить после
Поиск и замена
- Поиск
/<текст> - искать <текст> вперед
?<текст> - искать <текст> назад
n - следующее вхождение
N - предыдущее вхождение
- Замена
:%s/<что ищем>/<на то что меняем>/<флаги>
флаги: g - много замен в строке; c - подтверждение