Що таке vi: режими та основні команди
Автор: Редакція Domeny.ForSale Опубліковано
Коротко: vi — це текстовий редактор, який працює в терміналі та використовується насамперед у системах Unix і Linux. Ним керують за допомогою команд із клавіатури, а дія клавіш залежить від вибраного режиму. Щоб почати вводити текст, натисніть i; щоб зберегти файл і завершити роботу, натисніть Esc, введіть :wq і підтвердьте клавішею Enter. Якщо хочете вийти без збереження змін, скористайтеся Esc, а потім :q! і Enter.
Для чого потрібен vi?
vi призначений для редагування звичайних текстових файлів: конфігурацій програм, скриптів, вихідного коду чи нотаток. Це не редактор документів на зразок Word — він не призначений для налаштування шрифтів, макета сторінок або вставлення ілюстрацій. Він працює з вмістом файлу без додаткового форматування документа.
Він особливо корисний під час роботи на сервері через SSH, тобто зашифроване з’єднання з іншим комп’ютером. Коли ви маєте доступ лише до термінала, можна виправити файл без запуску графічного робочого столу й без завантаження його на свій комп’ютер.
Редактор vi або сумісний із ним замінник доступний у багатьох Unix-середовищах. Однак не варто вважати, що він є в кожній інсталяції: мінімальний образ системи чи контейнера може взагалі не містити редактора.
Чому vi має різні режими роботи?
У звичайному редакторі натискання літери відразу додає її до тексту. У vi після відкриття файлу ви зазвичай перебуваєте у звичайному режимі, який також називають командним режимом. Літери тоді слугують для переміщення файлом, видалення тексту або виконання інших операцій.
Щоб почати працювати, достатньо розрізняти три способи керування:
- Звичайний режим: ви виконуєте команди, наприклад
ddвидаляє поточний рядок. Повернутися до цього режиму можна клавішеюEsc. - Режим вставлення: ви вводите текст. Зі звичайного режиму до нього переходять клавішею
i, яка починає вставлення перед курсором. - Командний рядок: після натискання
:у звичайному режимі ви вводите команду, наприклад:wдля збереження файлу. Виконуєте її клавішею Enter.
Цей поділ пояснює те, що часто дивує початківців: вони натискають літери, але замість введення тексту переміщують курсор або змінюють наявний текст. Якщо не знаєте, у якому режимі перебуваєте, натисніть Esc. Лише після цього вибирайте наступну дію.
Перше редагування файлу крок за кроком
Найбезпечніше потренуватися на новому файлі, а не на конфігурації служби, що працює. У терміналі виконайте:
vi notatka.txt
Якщо файл існує, редактор відкриє його вміст. Якщо не існує, він підготує новий документ у пам’яті; файл буде створено на диску лише після успішного збереження.
- Натисніть
i, щоб перейти до режиму вставлення. - Введіть речення, наприклад
Це моя перша нотатка. - Натисніть
Esc, щоб завершити введення тексту. - Введіть
: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.
Перед редагуванням важливої конфігурації зробіть її копію. Якщо збереження завершується помилкою доступу, саме лише додавання ! не надасть вам прав на файл. Почніть із тренування на власній нотатці, а після зміни конфігурації перевірте її інструментом валідації відповідної служби, якщо вона його надає.
