Быстрый справочник команд 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 |
| Паттерн |
Совпадает с |
^ / $ |
Начало / конец строки |
. |
Любой символ |
\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 |
Закрыть вкладку |
Минимальная конфигурация для серверной работы:
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.
Воспроизведение, повторная публикация или распространение без письменного разрешения запрещены.