Linux

Vim для начинающих: освойте редактор за 20 минут

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

15-20 мин
Низкая
Применимо к:Ubuntu 22.04+Debian 11+CentOS 8+Любой дистрибутив Linux с установленным Vim

Введение / Зачем это нужно

Vim — это мощный, консольный текстовый редактор, который предустановлен практически в любой системе Linux. Его изучение — критически важный навык для системного администратора, разработчика и любого, кто работает с серверами через SSH. Даже если вы предпочитаете графические редакторы, знание Vim спасает, когда графический интерфейс недоступен. Этот гайд даст вам прочный фундамент: вы перестанете бояться Vim и сможете комфортно редактировать конфиги, скрипты и текстовые файлы прямо в терминале.

Требования / Подготовка

  1. Система: Любой дистрибутив Linux (Ubuntu, Debian, CentOS, Fedora и т.д.).
  2. Доступ: Права на запуск терминала и редактирование целевых файлов (может потребоваться sudo для системных конфигов).
  3. Пакет: Vim обычно уже установлен. Если нет, установите его:
    • Debian/Ubuntu: sudo apt update && sudo apt install vim
    • RHEL/CentOS/Fedora: sudo yum install vim или sudo dnf install vim

Пошаговая инструкция

Шаг 1: Запуск Vim и понимание интерфейса

Откройте терминал (Ctrl+Alt+T в большинстве дистрибутивов). Для редактирования конкретного файла выполните:

vim /путь/к/файлу.conf

Для создания нового файла:

vim новый_файл.txt

После запуска вы увидите:

  • Титульную строку (вверху) — информацию о файле.
  • Основную область — содержимое файла (или пустую).
  • Строку состояния (внизу) — здесь будут появляться сообщения и команды.

Ключевой момент: Сразу после запуска вы находитесь в нормальном режиме (Normal mode). В этом режиме каждая клавиша — это команда для навигации, удаления, копирования и т.д. Вы не можете просто начать печатать текст. Для этого нужно переключиться.

Шаг 2: Основные движения курсором (режим Normal)

Практикуйтесь в этих командах, находясь в нормальном режиме. Не нажимайте другие клавиши, пока не освоите эти.

КомандаДействие
hВлево
jВниз
kВверх
lВправо

Эти четыре клавиши — основа основ. Запомните их: h — left (лево), j — down (вниз, как стрелка вниз), k — up (вверх), l — right (право).

Быстрые перемещения:

  • w — на начало следующего слова.
  • b — на начало предыдущего слова.
  • 0 (ноль) — в самый конец строки.
  • $ — в самый конец строки.
  • gg — в самое начало файла.
  • G (Shift+g) — в самый конец файла.

💡 Совет: Если вы нажали клавишу и что-то не так — просто нажмите Esc, чтобы сбросить любую незавершенную команду и вернуться в чистый нормальный режим.

Шаг 3: Режимы вставки (Insert) и редактирования

Чтобы начать вводить или редактировать текст, нужно перейти в режим вставки.

КомандаКогда использоватьКуда станет курсор
iInsert (вставить)Перед текущим символом
aAppend (добавить)После текущего символа
oOpen (открыть)В новую строку ниже текущей
O (Shift+o)В новую строку выше текущей

Пример:

  1. Находясь в нормальном режиме, поставьте курсор на букву e в слове текст.
  2. Нажмите i. Внизу в строке состояния появится -- INSERT --.
  3. Начните печатать. Текст будет вставлен перед символом e.
  4. Нажмите Esc. Вы вернетесь в нормальный режим, и можно снова управлять редактором.

Шаг 4: Удаление, замена и отмена

Все эти действия выполняются в нормальном режиме.

  • Удаление:
    • x — удалить символ под курсором (как Delete).
    • dd — удалить всю строку, на которой курсор.
    • dw — удалить слово, начиная с курсора.
    • d$ — удалить от курсора до конца строки.
    • d0 — удалить от курсора до начала строки.
  • Замена:
    • r + символ — заменить один символ под курсором на указанный (например, rx заменит символ на x). После этого вы останетесь в нормальном режиме.
  • Отмена (Undo) и Повтор (Redo):
    • u — отменить последнее изменение.
    • Ctrl + r — повторить (откатить отмену).

Шаг 5: Сохранение и выход

Всегда проверяйте, в каком режиме вы находитесь! Для сохранения и выхода нужно быть в нормальном режиме (Esc).

  1. Нажмите : (двоеточие). Курсор перейдет вниз, в строку команд.
  2. Введите одну из команд:
    • :wwrite (сохранить).
    • :qquit (выйти). Работает только если файл не изменялся!
    • :wq — сохранить и выйти.
    • ZZ (Shift+zz) — быстрый аналог :wq (не требует нажатия :).
    • :q! — выйти без сохранения, отменив все изменения с последнего сохранения.
    • :w имя_файла — сохранить под другим именем.

Проверка результата

  1. Создайте тестовый файл: vim test_vim.txt.
  2. Нажмите i, введите несколько строк текста.
  3. Нажмите Esc.
  4. Попробуйте переместиться по файлу с помощью j, k, w, b.
  5. Удалите пару слов (dw) или строку (dd).
  6. Нажмите u — изменения должны отмениться.
  7. Нажмите : и введите :wq. Файл test_vim.txt должен сохраниться в текущей директории. Проверьте: cat test_vim.txt.

Если все прошло успешно — вы освоили жизненно важный минимум.

Возможные проблемы

  • Проблема: При попытке выйти (:q) Vim пишет E37: No write since last change (add ! to override).
    • Причина: Файл был изменен, но не сохранен.
    • Решение: Либо сохраните (:wq), либо выйдите без сохранения (:q!).
  • Проблема: Нажал случайно клавишу, и появилась странная строка внизу или текст начал вести себя непредсказуемо.
    • Решение: Нажмите Esc несколько раз. Это гарантированно вернет вас в чистый нормальный режим.
  • Проблема: Не могу ввести текст, только перемещаюсь.
    • Причина: Вы находитесь в нормальном режиме.
    • Решение: Нажмите i, a или o, чтобы перейти в режим вставки. В строке состояния появится -- INSERT --.
  • Проблема: Не знаю, в каком режиме нахожусь.
    • Решение: Просто нажмите Esc. Если вы были в режиме вставки, вы вернетесь в нормальный. Если уже были в нормальном — ничего не изменится. Это безопасный способ "сброса".

Дальнейшее развитие навыков

Освоив эти основы, вы уже можете работать. Чтобы стать быстрым, осваивайте команды постепенно:

  1. Копирование и вставка: yy (копировать строку), p (вставить после курсора), P (вставить перед).
  2. Поиск: /текст + Enter (искать вперед), n — следующее совпадение, N — предыдущее.
  3. Работа с несколькими файлами: :e имя_файла (открыть), :bn / :bp (следующий/предыдущий буфер).
  4. Разделение окна: :split (горизонтально), :vsplit (вертикально).

Полезная шпаргалка всегда под рукой: в самом Vim введите :help или найдите онлайн-ресурсы по запросу "vim cheat sheet". Главное — практика. Откройте любой конфигурационный файл (/etc/fstab, ~/.bashrc) и попробуйте внести в него изменения с помощью Vim. У вас всё получится!

Часто задаваемые вопросы

Как выйти из Vim, если застрял?
В чем разница между vi и vim?
Нужно ли запоминать все команды Vim сразу?
Почему Vim кажется сложным, и стоит ли его учить?

Полезное

Запуск Vim и понимание интерфейса
Основные движения курсором (режим Normal)
Режимы вставки (Insert) и редактирования
Удаление, замена и отмена
Сохранение и выход