Шпаргалка по командам vi в Linux | 3 режима Vim и визуальный режим

Уведомление о партнёрских ссылках v3.1
Уведомление о партнёрских ссылках v3.2 (мобильная версия)
Тестовая средаСемейство RHELAlmaLinux 9.8Учётная запись rootПроверено 2026-10-07

Открыть vi и обнаружить, что набранный текст не появляется, или закрыть окно, не зная, как выйти, — с этим хотя бы раз сталкивается каждый, кто впервые работает с сервером. Команда vi в Linux разделяет нормальный режим и режим вставки, поэтому достаточно понимать, в каком режиме вы сейчас, — дальше хватит нескольких клавиш. В этой статье три режима и команды для каждого из них сведены в таблицы, а на виртуальном сервере в браузере vi можно попробовать самому.

В AlmaLinux 9.8 и vi, и vim входят в пакет vim 8.2; экраны и сообщения в этой статье получены в vim. Если vim не установлен, установите его командой [dnf -y install vim-enhanced].

Схема переключения трёх режимов команды vi в Linux Команда vi в Linux: схема трёх режимов

✅ Три режима vi

В vi одна и та же клавиша делает разное в зависимости от режима. Файл открывается в нормальном режиме; клавишей i вы переходите в режим вставки и набираете текст, клавишей Esc возвращаетесь, а двоеточием [:] переходите в режим последней строки, чтобы сохранить файл и выйти.

РежимКлавиша для входаНазначение
Нормальный режимВ этом режиме открывается vi · Esc из любого другого режимаПеремещение курсора, удаление, копирование, вставка, отмена
Режим вставкиi a I A o OВвод текста. Внизу экрана — [-- INSERT --]
Режим последней строки:Сохранение, выход, замена, настройка номеров строк. Внизу экрана появляется :
Визуальный режимv V Ctrl-vВыделение диапазона, затем удаление, копирование или ввод сразу во все строки

Открыть файл из консоли можно тремя способами.

КомандаОписание
vi имя_файлаОткрывает файл в нормальном режиме. Если файла нет, создаёт новый и показывает [New]
vi +20 имя_файлаОткрывает файл с курсором на строке 20
view имя_файла= vi -RОткрывает только для чтения. При правке — предупреждение [W10], при сохранении — [E45]

Если ввести [vi httpd.conf] на виртуальном сервере ниже, откроется vi, а левое меню сменится командами внутри vi. Нажатие на чип вводит эту клавишу на экране, можно набирать и с клавиатуры.

Симулятор команд vivim 8.2
[root@server work]#
Работает только в браузере и не трогает настоящие файлы. Сначала откройте файл командой vi httpd.conf — левое меню сменится командами внутри vi. Нажатие на чип вводит эту клавишу на экране, можно набирать и с клавиатуры. Сохранив файл и выйдя по :wq, проверьте результат командой cat, а если что-то пошло не так, нажмите [Start over]. Остальные клавиши из таблиц попробуйте набрать сами.

✅ Шпаргалка по командам vi в Linux

🔲 Перемещение курсора

КлавишаОписание
h j k l← ↓ ↑ →Перемещение на один символ. Работают и клавиши со стрелками
0 · ^Начало строки (0) · первый непробельный символ строки (^)
$Конец строки
w · b · eНачало следующего слова · начало предыдущего слова · конец следующего слова
gg · GПервая · последняя строка файла
20Gто же, что :20На строку 20. Замените число, чтобы перейти на нужную строку
H · M · LВерхняя · средняя · нижняя строка экрана
Ctrl-f · Ctrl-bНа экран вниз · вверх
Ctrl-d · Ctrl-uНа полэкрана вниз · вверх

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

Какой бы клавишей вы ни вошли в режим вставки, закончив ввод, нажмите Esc. cw, cc, C и s удаляют текст и сразу переводят в режим вставки, поэтому исправить слово или строку так быстрее, чем нажимать x и i по отдельности.

КлавишаОписание
i · aНачать ввод перед курсором (i) · после курсора (a)
I · AНачать ввод в начале (I) · в конце (A) строки
o · OСоздать пустую строку ниже (o) · выше (O) и начать ввод
cwУдалить от курсора до конца слова и начать ввод
ccУдалить всю строку и начать ввод
CУдалить от курсора до конца строки и начать ввод
sУдалить один символ и начать ввод
EscЗакончить ввод и вернуться в нормальный режим

🔲 Удаление и правка

Если после d указать клавишу перемещения, удалится соответствующий диапазон: dw — слово, dd — строка, dG — всё до конца файла, а если поставить впереди число, действие повторится столько раз.

КлавишаОписание
x · XУдалить символ под курсором (x) · перед курсором (X). 3x — три символа
dwУдалить от курсора до конца слова
ddУдалить строку. 3dd — три строки
D= d$Удалить от курсора до конца строки
d0Удалить от начала строки до курсора
dGУдалить от текущей строки до конца файла
:6d · :6,10dУдалить строку 6 · удалить строки 6–10
JПрисоединить следующую строку к концу текущей
rЗаменить символ под курсором следующим набранным символом
~Сменить регистр
>> · <<Увеличить · уменьшить отступ строки

🔲 Копирование, вставка и отмена

Удалённое, как и скопированное, можно вставить клавишей p, поэтому если нажать dd, а затем p, строка переместится вниз. u позволяет отменить несколько изменений подряд, а Ctrl-r снова выполняет отменённое.

КлавишаОписание
yyСкопировать строку. 3yy — три строки
ywСкопировать от курсора до конца слова
p · PВставить скопированное ниже (p) · выше (P). Если копировались символы — после · перед курсором
:1 co 7то же, что :1 t 7Скопировать строку 1 под строку 7
:1,7 co 8Скопировать строки 1–7 под строку 8
:1 m 8Переместить строку 1 под строку 8
uОтменить. При повторных нажатиях отмена продолжается
Ctrl-rПовторить отменённое
.Повторить последнее изменение

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

Замена выполняется в режиме последней строки. Без диапазона она касается только текущей строки, с [%] — всего файла, а без g в конце в каждой строке меняется только первое совпадение.

КлавишаОписание
/строкаПоиск вниз от курсора. Дойдя до конца, поиск продолжается с начала: [search hit BOTTOM, continuing at TOP]
?строкаПоиск вверх от курсора
n · NСледующее совпадение в том же направлении (n) · в обратном (N)
*Поиск вниз слова под курсором
:s/old/new/Первое old в текущей строке — на new
:s/old/new/gВсе old в текущей строке — на new
:%s/old/new/gВсе old во всём файле — на new
:10,20s/old/new/gВсе old в строках 10–20 — на new
:%s/old/new/gcЗамена с подтверждением каждого совпадения (y — заменить · n — пропустить · a — все · q — прекратить)

🔲 Сохранение, выход и номера строк

КлавишаОписание
:wСохранить. По завершении — [36L, 1094B written]
:w имя_файлаСохранить под другим именем. Исходный файл не меняется
:wq= :⁠x = ZZСохранить и выйти
:qВыйти. Если есть несохранённые изменения — [E37: No write since last change]
:q!Выйти без сохранения
:set nu · :set nonuПоказать · скрыть номера строк

✅ Комментирование столбца в режиме визуального блока Vim

Чтобы вставить одинаковый текст в начало нескольких строк, вместо нажатия i в каждой строке используйте режим визуального блока. В нормальном режиме v выделяет по символам, Shift-v — по строкам, а Ctrl-v — по столбцам.

Схема трёх видов визуального режима vim Визуальный режим vim: схема трёх видов

Вот как закомментировать целый блок конфигурационного файла. Поставьте курсор на первый символ первой строки, нажмите Ctrl-v, спуститесь клавишей j, выделяя строки, затем нажмите I, введите # и нажмите Esc.

Запуск режима визуального блока в vim
1. Нажмите Ctrl-v на первом символе первой строки — появится [– VISUAL BLOCK –].
Выделение строк курсором в режиме визуального блока vim
2. Спускаясь клавишей j, выделите все строки, которые нужно закомментировать.
Ввод в режиме визуального блока vim
3. Нажмите I и введите # — пока он виден только в первой строке.
Правка столбца в режиме визуального блока vim завершена
4. Нажмите Esc — # появится во всех выделенных строках.

Снять комментарии можно так же. Встаньте на # первой строки, выделите вниз через Ctrl-v и нажмите x — выделенный столбец удалится за один раз. Это можно повторить прямо на файле vhost.conf в симуляторе выше.

  • Команды vi, vim
  • Команды обработки текста
  • Устройство редактора vi: нормальный режим, режим вставки и режим последней строки

ℹ️ О партнёрских ссылках
Материалы этого сайта содержат партнёрские ссылки. Если посетитель покупает товар или услугу по такой ссылке, сайт получает комиссию от продавца. При этом сумма, которую платит покупатель (при акционных скидках сумма снижается ↓), не увеличивается. Указанные цены, скидки и наличие актуальны на момент написания и могут отличаться, поэтому перед покупкой уточняйте их у продавца. Товары выбираются и оцениваются по нашим собственным критериям, а комиссия не влияет ни на порядок, ни на содержание обзоров.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Докажите, что вы человек: 1   +   7   =