Вы здесь

Простые команды Vi

А любом режиме Esc, чтобы вернуться в нормальный. На некоторых клавиатурах Esc срабатывает с задержкой, поэтому kexit вводить Esc Esc/

В нормальном режиме:
:help [command] - просмотреть подсказку по vim в целом или посвященную команде command.
:q - выйти если в файле не было изменений
:wq, :x - записать и выйти
:q! - выйти без сохранения

u – UNDO последнее действие
U – UNDO вся строка
Ctrl-R – REDO

Переход в режим выделения
v - режим выделения символов и строк
V - режим выделения строк
Ctrl v - режим выделения прямоугольного блока символов

В визуальном режиме можно выделить блок, а затем
d – удалить в буфер (del)
с – удалить в буфер и перейти в режим вставки (cut)
y – копировать в буфер без удаления (yank)

Удаление в буфер
x - один символ
dw - слово
dd - строка

Вставка из буфера

p – вставить (paste) перед курсором
P - p – вставить после курсора

Переход в режим редактирования
i - перейти в режим вставки с позиции курсора
a - перейти в режим вставки с позиции после курсора
o - добавить пустую строку ниже и перейти в режим вставки
O - добавить пустую строку выше и перейти в режим вставки
R - перейти в режим замены
rx - заменить текущий символ на x

Позиционироваться в файле
:nnn - перейти на строку с номером nnn. :0 – начало файла, :$ или G – конец файла
) или ( – следующее или предыдущее предложение
} или { – то же для параграфа
]] или [[ – то же для секции, функции
% – ответная скобка (matching)
`` – предыдущее местонахождение, с точностью до символа
'' (два апострофа) – то же, с точностью до строки

Метки, к которым всегда можно вернуться:
mx – пометить текущую позицию буквой “x” (буква, разумеется, любая)
`x – перейти к метке “x”
'x – перейти к строке с меткой “x”

Поиск/замена:
/text – искать “text” ниже текущей позиции
?text – то же, но выше
n – повторить поиск в том же направлении
N – то же, но в обратном направлении
* – найти и пометить слово такое же, как под курсором ниже по файлу
# – то же, но выше по файлу

:[address]s/text/replacement/[gci] – в строках заданных address заменить “text” на “replacement”. Опции: g (Global)-все, c (Confirm) – с запросом, i (case Insensitive) -игнорируя регистр