Редактор VI з командами в Linux/Unix Підручник

⚡ Розумний підсумок

Редактор vi — це класичний, універсально доступний текстовий редактор Linux та Unix, який працює повністю через клавіатуру у двох режимах: командний режим для дій та режим вставки для введення тексту.ping тексту.

  • ???? Що це: Редактор vi постачається майже з кожною системою Linux та Unix і поводиться однаково на всіх платформах та дистрибутивах.
  • ⌨️ Два режими: Командний режим виконує такі дії, як копіювання, видалення та збереження, тоді як режим вставки призначений для typing тексту.
  • ???? Запуск: Введіть vi, а потім ім'я файлу, щоб відкрити існуючий файл або створити новий.
  • ✏️ редагування: Однолітерні команди, такі як i, a, dd та x, вставляють, додають, видаляють рядки та видаляють символи.
  • 💾 Збереження: З командного режиму :w зберігає, :wq зберігає та завершує роботу, а :q! завершує роботу без збереження.
  • 🤖 Допомога AI: Асистенти ШІ та GitHub Copilot можуть пояснювати команди vi та пропонувати редагування під час навчання.

Команди редактора vi та режими команд і вставки в Linux та Unix

Редактор vi — це текстовий редактор, який ви зустрінете майже на будь-якому Linux або Unix-машина, тому вивчення її робочого процесу з використанням клавіатури – це навичка, яка застосовується всюди. У цьому посібнику пояснюються два режими роботи, команди редагування, а також те, як зберегти та вийти з файлу.

Що таке редактор VI?

Редактор vi — найпопулярніший і найкласичніший текстовий редактор у сімействі Linux. Нижче наведено деякі причини, які роблять його широко використовуваним редактором:

  • Він доступний майже у всіх дистрибутивах Linux.
  • Це працює однаково на різних платформах та дистрибутивах.
  • Він зручний у використанні, тому мільйони користувачів Linux покладаються на нього для своїх потреб редагування.

Наразі доступні розширені версії редактора vi, і найпопулярнішою з них є VIM, що розшифровується як Vi Improved (Покращений Vi). Деякі інші - це Elvis, Nvi, Nano та Vile. Варто вивчити vi, оскільки він багатий на функції та пропонує безмежні можливості редагування файлів.

Редактор VI OperaРежими

Щоб працювати з редактором vi, потрібно розуміти його режими роботи. Їх можна розділити на дві основні частини: командний режим та режим вставки. На скріншоті нижче показано редактор vi, відкритий у терміналі Linux.

Редактор vi, відкритий у вікні терміналу Linux

Командний режим vi

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

Режим вставки vi

  • Цей режим призначений для вставки тексту у файл.
  • Ви можете переключитися в режим вставки з командного режиму, натиснувши клавішу «i» на клавіатурі.
  • Після переходу в режим вставки будь-яка клавіша сприймається як вхідні дані для файлу, над яким ви зараз працюєте.
  • Щоб повернутися в командний режим і зберегти внесені зміни, натисніть клавішу Esc.

Як користуватися редактором vi

Щоб запустити редактор vi, відкрийте термінал (CLI) та введіть:

vi <filename_NEW> or <filename_EXISTING>

Якщо ви вкажете існуючий файл, редактор відкриє його для редагування. В іншому випадку він створить новий файл. На скріншоті нижче показано створення та редагування нового файлу у vi.

Створення та редагування нового файлу в редакторі vi

VI Команди редагування

Команди редагування vi, наведені нижче, дозволяють вставляти, видаляти та змінювати текст. Використовуйте їх у командному режимі.

Command Опис
i Вставити за курсором (переходить у режим вставки)
a Запис після курсору (переходить у режим вставки)
A Написати в кінці рядка (переходить у режим вставки)
ESC Завершити режим вставки
u Скасувати останню зміну
U Скасувати всі зміни в усьому рядку
o Відкрити новий рядок (переходить у режим вставки)
dd Видалити рядок
3dd Видалити 3 рядки
D Видалити вміст рядка після курсору
C Видалити вміст рядка після курсору та вставити новий текст. Натисніть клавішу ESC, щоб завершити вставку.
dw Видалити слово
4дв Видалити 4 слова
cw Змінити слово
x Видалення символу під курсором
r Замінити символ
R Перезаписувати символи від курсору
s Підставити один символ під курсор і продовжити вставку
S Підставити весь рядок і почати вставку з початку рядка
~ Змінити регістр індивідуального символу

Примітка: Щоб виконати ці команди, вам слід перебувати в командному режимі. Редактор vi чутливий до регістру, тому переконайтеся, що ви вводите команди з правильним регістром літер. Натискання неправильної команди може внести небажані зміни до файлу. Ви також можете перейти в режим вставки, натиснувши a, A або o за потреби.

Переміщення в межах файлу

Для переміщення по файлу потрібно бути в командному режимі. Клавіші навігації за замовчуванням перелічені нижче, але ви також можете використовувати клавіші зі стрілками на клавіатурі.

Command Опис
k Перемістити курсор вгору
j Перемістити курсор вниз
h Перемістити курсор ліворуч
l Перемістити курсор праворуч

Збереження та закриття файлу

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

Command Опис
Shift+zz Збережіть файл і завершіть роботу
:w Збережіть файл, але не відкривайте його
Питання! Закрийте vi та не зберігайте зміни
: WQ Збережіть файл і завершіть роботу

На скріншоті нижче показано файл, відкритий у редакторі vi, готовий до збереження та закриття.

Файл, відкритий у редакторі vi, готовий до збереження та виходу

Поширені запитання

Vim Розшифровується як «Vi Improved» (Покращений Vi) і є покращеною версією vi. Вона додає такі функції, як підсвічування синтаксису, багаторівневе скасування та повторення дій, розділення вікон, вкладки та автодоповнення слів. Класичний vi доступний майже в кожній системі Unix, тому його команди варто вивчити.

У командному режимі натисніть /, а потім текст і Enter для пошуку вперед або використовуйте ? для пошуку назад. Натисніть n, щоб перейти до наступного збігу, і N, щоб перейти до попереднього. Пошук враховує регістр, якщо ви не зміните налаштування.

У командному режимі yy копіює (витягує) поточний рядок, а p вставляє його під курсор. Використовуйте число, наприклад 3yy, щоб скопіювати кілька рядків одночасно. Видалення за допомогою dd також поміщає видалений текст у буфер обміну, щоб p міг вставити його в інше місце.

У командному режимі введіть :set number (або :set nu) та натисніть Enter, щоб відобразити номери рядків уздовж лівого поля. Виконайте :set nonumber, щоб знову їх приховати. Номери рядків полегшують перехід до певного рядка та відстеження повідомлень про помилки.

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

Виконайте команду vi -R filename або скористайтеся командою view, щоб відкрити файл у режимі лише для читання. Це дозволяє безпечно переглядати та шукати, не змінюючи випадково вміст. Ви все ще можете примусово виконати запис за допомогою :w!, якщо вирішите зберегти редагування.

Помічники на основі штучного інтелекту можуть пояснити, що робить незнайома команда vi, перекласти запит простою англійською мовою на правильні натискання клавіш та виправити помилки. Інструменти на основі машинного навчання також можуть пропонувати наступне редагування, зменшуючи круту криву навчання, якою відомий vi.

Так. Копілот GitHub пропонує офіційний плагін для Vim та Neovim що пропонує код під час введення в режимі вставки. Це додає штучний інтелект до робочого процесу, керованого клавіатурою, хоча ви все одно приймаєте або відхиляєте кожну пропозицію самостійно.

Підсумуйте цей пост за допомогою: