Шпаргалка по Vim

6 мин чтения·Matthieu

Быстрый справочник команд Vim, организованный для работы по администрированию серверов. Сохрани эту страницу в закладки.

Режимы

Режим Вход Назначение Возврат в нормальный
Нормальный Esc Навигация, выполнение команд Уже активен
Вставка i, a, o, I, A, O Ввод текста Esc
Визуальный v (символ), V (строка), Ctrl+v (блок) Выделение текста Esc
Командный : Выполнение ex-команд Enter или Esc

Операции с файлами

Команда Действие
:w Сохранить
:q Выйти (ошибка при несохранённых изменениях)
:wq или ZZ Сохранить и выйти
:q! Выйти без сохранения
:w !sudo tee % Сохранить файл только для чтения (когда забыл sudoedit)
:e /путь/к/файлу Открыть файл
:saveas /путь Сохранить как новый файл

Навигация

По символам и строкам

Клавиша Действие
h j k l Влево, вниз, вверх, вправо
0 Начало строки
$ Конец строки
^ Первый непробельный символ

По словам

Клавиша Действие
w / W Следующее слово / СЛОВО
b / B Предыдущее слово / СЛОВО
e Конец слова

По файлу

Клавиша Действие
gg Первая строка
G Последняя строка
42G или :42 Строка 42
Ctrl+d / Ctrl+u Полстраницы вниз / вверх
Ctrl+f / Ctrl+b Страница вниз / вверх
% Парная скобка

Поиск

Клавиша Действие
/паттерн Поиск вперёд
?паттерн Поиск назад
n / N Следующее / предыдущее совпадение
* Найти слово под курсором (вперёд)
# Найти слово под курсором (назад)

Вход в режим вставки

Клавиша Действие
i Перед курсором
a После курсора
I Начало строки
A Конец строки
o Новая строка ниже
O Новая строка выше
s Удалить символ и вставить
S или cc Удалить строку и вставить

Редактирование

Команда Действие
x Удалить символ
dd Удалить строку
dw Удалить слово
d$ или D Удалить до конца строки
d0 Удалить до начала строки
cc Изменить строку
cw Изменить слово
ci" Изменить внутри кавычек
ci( Изменить внутри скобок
yy Скопировать строку
yw Скопировать слово
p / P Вставить после / перед
u Отменить
Ctrl+r Повторить
. Повторить последнее изменение
>> / << Добавить / убрать отступ строки
J Объединить текущую строку со следующей

Счётчики и композиция

Команды Vim принимают числовой префикс. Комбинируй операторы с движениями для точных правок.

Пример Действие
3dd Удалить 3 строки
5j На 5 строк вниз
d2w Удалить 2 следующих слова
4>> Добавить отступ 4 строкам
y3w Скопировать 3 слова
ct; Изменить текст до ;
df" Удалить до следующей " (включительно)

Визуальный режим

Команда Действие
v Начать посимвольное выделение
V Начать построчное выделение
Ctrl+v Начать блочное выделение
d Удалить выделенное
y Скопировать выделенное
> / < Добавить / убрать отступ выделенного
:s/^/#/ Закомментировать выделенные строки (в визуальном режиме строк)
U / u Выделенное в верхний / нижний регистр

Поиск и замена

Команда Действие
:s/старый/новый/ Заменить первый в текущей строке
:s/старый/новый/g Заменить все в текущей строке
:%s/старый/новый/g Заменить все в файле
:%s/старый/новый/gc Заменить все с подтверждением
:5,10s/старый/новый/g Заменить все в строках 5-10

Частые паттерны regex

Паттерн Совпадает с
^ / $ Начало / конец строки
. Любой символ
\d Цифра
\s Пробельный символ
.* Любые символы (жадный)
\v Режим «very magic» (меньше экранирования)

Серверные примеры

:%s/listen 80;/listen 443 ssl;/g
:%s/nginx:1.24/nginx:1.27/g
:%s/192\.168\.1\.1/10.0.0.1/g

Буферы

Команда Действие
:e файл Открыть в буфере
:bn / :bp Следующий / предыдущий буфер
:ls Список буферов
:b2 Перейти к буферу 2
:bd Закрыть буфер

Сплиты

Команда Действие
:sp файл Горизонтальный сплит
:vs файл Вертикальный сплит
Ctrl+w h/j/k/l Перемещение между сплитами
Ctrl+w = Одинаковый размер сплитов
Ctrl+w q Закрыть сплит
Ctrl+w _ Максимизировать высоту текущего сплита
Ctrl+w | Максимизировать ширину текущего сплита

Вкладки

Команда Действие
:tabnew файл Открыть в новой вкладке
gt / gT Следующая / предыдущая вкладка
:tabclose Закрыть вкладку

Настройки .vimrc

Минимальная конфигурация для серверной работы:

set nocompatible
set encoding=utf-8
set number relativenumber
syntax on
set expandtab tabstop=2 shiftwidth=2 softtabstop=2
set incsearch hlsearch ignorecase smartcase
set showmatch laststatus=2 showmode
set mouse=a
set pastetoggle=<F2>
set noswapfile
set cursorline
set list listchars=tab:>>·,trail:·
filetype plugin indent on

Горячие клавиши для серверной работы

Задача Команды
Безопасно редактировать root-файл sudoedit /etc/nginx/nginx.conf
Вставить без каскадного отступа F2, i, вставить, F2
Перейти к строке с ошибкой vim +42 file.yml
Преобразовать табы в пробелы (YAML) :%s/\t/ /g
Закомментировать несколько строк V, выделить, :s/^/#/
Раскомментировать несколько строк V, выделить, :s/^#//
Проверить конфигурацию Nginx :!sudo nginx -t
Перезагрузить не выходя из Vim :!sudo systemctl reload nginx

Устранение неполадок

Проблема Решение
Не могу печатать после открытия Vim Нажми i (ты в нормальном режиме)
Терминал завис (Ctrl+s) Нажми Ctrl+q
Лесенка отступов при вставке Переключи режим вставки: F2 или :set paste
Файл только для чтения Выйди, открой заново через sudoedit
Предупреждение о swap-файле Выбери (D)elete, если другая сессия не редактирует файл

Авторское право 2026 Virtua.Cloud. Все права защищены. Данный контент является оригинальным произведением команды Virtua.Cloud. Воспроизведение, повторная публикация или распространение без письменного разрешения запрещены.

Готовы попробовать?

Разверните свой сервер за секунды. Linux, Windows или FreeBSD.

Смотреть тарифы VPS