Как устроен редактор VIM и как из него выйти

17 февраля 2026 4 мин 10

VIM (Vi Improved) — текстовый редактор, усовершенствованная версия устаревшего VI.
Команды для установки на Debian-based ОС:

# apt install vim

На RedHat-based ОС

# yum install vim

Несмотря на неочевидный интерфейс, VIM остаётся актуальным редактором. Его главные преимущества — модальная система редактирования и более функциональный набор инструментов для работы с текстом (от символов до целых блоков), поддержка больших файлов и экосистема макросов. Даже более простые альтернативы, например, nano, пока не могут его заменить, поскольку Vim создан для работы со сложными сценариями.
 

Обратите внимание: в современных дистрибутивах часто предустановлена облегчённая версия редактора VIM — vim-tiny. Хотя интерфейс и базовые команды приложений похожи, между ними есть существенные различия. В статье рассказываем именно о работе с полноценным VIM.

Режимы работы

Чтобы открыть файл в Vim, используйте файл:

# vim путь_к_файлу/имя_файла

Редактор работает командном режиме, режиме редактирования (вставки) и режиме последней строки. 

По умолчанию при запуске редактора откроется командный режим. Он позволяет выполнять сложные операции редактирования текста. Для этого нужно нажать : (двоеточие). Курсор переместится в нижнюю строку экрана и включится режим последней строки, который считается подвидом командного. Если указать конкретное значение строки, например, :15 курсор переместится на строку 15.  

Для перехода в режим редактирования нажмите i (или Insert). А чтобы выйти обратно в командный режим, используйте клавишу Escape (esc).

Для вставки текста можно использовать:

  • a — вставка начинается после символа, на котором стоит курсор;
  • o — создание и вставка текста на новой строке.

Удалять текст можно двумя способами:

  1. В режиме редактирования.
  2. В командном режиме (нажмите esc, затем):
    • x — удалит символ под курсором (аналог Delete);
    • Shift+x — удалит символ перед курсором (аналог Backspace).

Для перехода в режим последней строки с помощью esc выйдите в режим команд и нажмите двоеточие (:). Затем вы можете ввести команду или вернуться к редактированию, нажав esc.

В VIM команды можно вводить двумя основными способами: в режиме последней строки (используя двоеточие) и непосредственно в командном режиме (часто с использованием клавиши Shift в сочетаниях).

Важно помнить: VIM выполняет команды только при английской раскладке клавиатуры.

Основные команды VIM для навигации по тексту

Рассмотрим команды, которые помогут начать работу с VIM:

  • (esc) /слово — поиск по тексту;

Например, чтобы найти в тексте слово «timeout», перейдите в режим команд (esc). Введите символ (слэш) и timeout. Курсор переместится к первому найденному совпадению. Для перехода к следующему совпадению нажмите клавишу n, к предыдущему — N (в верхнем регистре). Чтобы завершить поиск и вернуться к обычному редактированию, нажмите esc.

  • (esc) :номер или (esc),номер,shift+g — переход к строке с определённым номером;
  • (esc) w — перемещение курсора на начало следующего слова. Для перемещения на несколько слов вперёд можно использовать число перед командой, например, 3w переместит курсор на три слова;
  • (esc) e — перемещение курсора в конец следующего слова;
  • (esc) b — перемещение курсора на начало предыдущего слова;
  • (esc) ge — перемещение курсора на конец предыдущего слова;
  • (esc) } — перемещение курсора на следующий абзац;
  • (esc) 0 (ноль) — перемещение курсора в начало строки;
  • (esc) $ — перемещение курсора в конец строки;
  • (esc) 10j — перемещение курсора на 10 строк вниз;
  • (esc) 5l — перемещение курсора на 5 символов вправо;
  • (esc) G или shift+g — перемещение курсора в конец документа;
  • (esc) gg — перемещение слова в начало документа;
  • (esc) ctrl+o — перемещение курсора в предыдущее место.

Работа с буфером обмена в Vim

Основные команды для работы с буфером (выполняются из командного режима):

  • (esc) yy — копировать строку в буфер (аналог ctrl+c);
  • (esc) 10yy — копировать 10 строк;
  • (esc) dd — вырезать текущую строку в буфер (аналог ctrl+x);
  • (esc) 10dd — вырезать 10 строк, начиная с текущей;
  • (esc) p — вставить содержимое буфера под текущей строкой (или после курсора);
  • (esc) P — вставить содержимое буфера над текущей строкой (или перед курсором).

Замена текста

Один из удобных инструментов VIM — возможность заменить слово или фразу в тексте на другое. Хотя в Linux существуют отдельные утилиты для этого, VIM позволяет выполнять замену во всей строке сразу.

Основные команды замены (вводятся после перехода в режим команд клавишей Esc):

  • :s/старое_слово/новое_слово/ — заменяет первое найденное в строке слово на новое;
  • :s/старое_слово/новое_слово/g — флаг g в конце означает замену всех слов «старое_слово» в текущей строке.
  • :%s/старое_слово/новое_слово/g — добавление символа % в начало команды выполняет замену во всём файле.

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

Комментировать блок текста от курсора до строки номер 10:

:.,10s/^/#/

Комментировать блок текста от курсора до конца

:.,$/^/#/

Как выйти из редактора VIM

Основные команды:

  • :q — стандартный выход. Работает, если файл не был изменён. Если вы вносили правки, VIM покажет ошибку и не закроется.
  • :q! или ZQ (Shift+ZQ) — выход без сохранения изменений. Восклицательный знак даёт редактору понять, что можно игнорировать предупреждения. Полезно, если вы случайно что-то изменили и хотите выйти, отменив все правки.
  • :wq или :x или ZZ (Shift+ZZ) — выход с сохранением всех изменений. Команда w указывает на необходимость записи (write) файла.
  • :wq! — принудительный выход с сохранением. Используется, например, для записи в файл, доступный только для чтения.

Для начала рекомендуется освоить команды в режиме последней строки (:q! и :wq). Сочетания клавиш вроде ZZ и ZQ можно использовать позже для ускорения работы.


Мы используем файлы cookie для работы сайта Вы можете отключить cookies в настройках своего браузера, но это может негативно повлиять на работу сайта. Оставаясь на сайте, вы соглашаетесь с использованием файлов cookie.