Що таке vi: режими та основні команди

Автор: Опубліковано

Коротко: vi — це текстовий редактор, який працює в терміналі та використовується насамперед у системах Unix і Linux. Ним керують за допомогою команд із клавіатури, а дія клавіш залежить від вибраного режиму. Щоб почати вводити текст, натисніть i; щоб зберегти файл і завершити роботу, натисніть Esc, введіть :wq і підтвердьте клавішею Enter. Якщо хочете вийти без збереження змін, скористайтеся Esc, а потім :q! і Enter.

Для чого потрібен vi?

vi призначений для редагування звичайних текстових файлів: конфігурацій програм, скриптів, вихідного коду чи нотаток. Це не редактор документів на зразок Word — він не призначений для налаштування шрифтів, макета сторінок або вставлення ілюстрацій. Він працює з вмістом файлу без додаткового форматування документа.

Він особливо корисний під час роботи на сервері через SSH, тобто зашифроване з’єднання з іншим комп’ютером. Коли ви маєте доступ лише до термінала, можна виправити файл без запуску графічного робочого столу й без завантаження його на свій комп’ютер.

Редактор vi або сумісний із ним замінник доступний у багатьох Unix-середовищах. Однак не варто вважати, що він є в кожній інсталяції: мінімальний образ системи чи контейнера може взагалі не містити редактора.

Чому vi має різні режими роботи?

У звичайному редакторі натискання літери відразу додає її до тексту. У vi після відкриття файлу ви зазвичай перебуваєте у звичайному режимі, який також називають командним режимом. Літери тоді слугують для переміщення файлом, видалення тексту або виконання інших операцій.

Щоб почати працювати, достатньо розрізняти три способи керування:

Цей поділ пояснює те, що часто дивує початківців: вони натискають літери, але замість введення тексту переміщують курсор або змінюють наявний текст. Якщо не знаєте, у якому режимі перебуваєте, натисніть Esc. Лише після цього вибирайте наступну дію.

Перше редагування файлу крок за кроком

Найбезпечніше потренуватися на новому файлі, а не на конфігурації служби, що працює. У терміналі виконайте:

vi notatka.txt

Якщо файл існує, редактор відкриє його вміст. Якщо не існує, він підготує новий документ у пам’яті; файл буде створено на диску лише після успішного збереження.

  1. Натисніть i, щоб перейти до режиму вставлення.
  2. Введіть речення, наприклад Це моя перша нотатка.
  3. Натисніть Esc, щоб завершити введення тексту.
  4. Введіть :wq і натисніть Enter.

Після збереження файлу й закриття редактора ви повернетеся до оболонки, тобто програми, яка приймає команди в терміналі. Можете знову запустити vi notatka.txt, щоб перевірити вміст.

Якщо хочете зберегти роботу, але продовжити редагування, скористайтеся :w. Команда :q закриває редактор, якщо немає незбережених змін, щодо яких потрібно ухвалити рішення. Команда :q! відкидає незбережені зміни — вона не видаляє наявний файл із диска.

Основні команди, які полегшують роботу

Наведені нижче команди виконуйте у звичайному режимі. Двокрапка й похила риска починають введення команди, яку ви підтверджуєте клавішею Enter; решта клавішних команд діють без такого підтвердження.

КомандаДія
h, j, k, lРух відповідно ліворуч, униз, угору й праворуч
0Перехід на початок рядка
$Перехід у кінець рядка
xВидалення символу під курсором
ddВидалення поточного рядка
uСкасування останньої зміни
/шуканий текстПошук тексту в напрямку кінця файлу
nПовторення пошуку в тому самому напрямку
:25Перехід до рядка номер 25

Наприклад, щоб знайти налаштування timeout, натисніть Esc, введіть /timeout і підтвердьте клавішею Enter. Клавіша n дасть змогу перейти до наступного входження. Це зручніше, ніж вручну переглядати довгу конфігурацію.

Чи vi та Vim — це та сама програма?

Ні. Vim, назва якого розшифровується як Vi IMproved, — це окремий редактор, що розвиває спосіб керування vi. Він пропонує додаткові можливості, як-от розширене підсвічування синтаксису, плагіни чи багаторівневе скасування змін.

У деяких системах команда vi запускає саме Vim або інший сумісний редактор. Тому вигляд екрана й доступні розширення можуть відрізнятися. Описані основні команди належать до спільного способу роботи, але не кожен посібник із Vim повністю підходить для класичного vi.

Перед редагуванням важливої конфігурації зробіть її копію. Якщо збереження завершується помилкою доступу, саме лише додавання ! не надасть вам прав на файл. Почніть із тренування на власній нотатці, а після зміни конфігурації перевірте її інструментом валідації відповідної служби, якщо вона його надає.

Читайте також

Дізнайтеся, як PHP-FPM обробляє запити PHP, чим відрізняється від вебсервера та як налаштувати процеси під трафік і ресурси хостингу.
Дізнайтеся, як BIND обслуговує DNS, чим відрізняються його серверні ролі та коли варто розгортати його самостійно замість керованої послуги.
Дізнайтеся, що означають польський реєстр і номер REGON, чим вони відрізняються від NIP та KRS і як перевірити дані підприємства.