Як вийти з редактора Vi або Vim

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

Швидка відповідь

Якщо ви перебуваєте у vi або vim і вам потрібно вийти — зі збереженням змін або без нього — ось як:

Спочатку натисніть клавішу Esc кілька разів. Це гарантує, що vi виходить із режиму вставки та в режимі команди.
По-друге, введіть :q! і натисніть Enter. Це вказує vi вийти без збереження змін. (Якщо ви хочете зберегти зміни, замість цього введіть :wq.)

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

vi, Всюдисущий редактор

Оскільки vi є скрізь, велика ймовірність, що ви зіткнетеся з ним. Ви навіть випадково можете опинитися всередині vi. Можливо, хтось попросить вас подивитися на їхній комп’ютер з Linux. Ви видаєте команду, наприклад crontab -e , і випливає vi. Дивно, хтось налаштував редактор за замовчуванням для crontab на vi.

Можливо, ви адмініструєте систему, де vi є єдиним редактором або єдиним, який працюватиме через віддалений сеанс SSH, і вам потрібно відредагувати файл .bashrc користувача.

Команда для запуску vi та відкриття файлу проста. Введіть vi , пробіл, а потім назву файлу. Натисніть Enter. Запущеною програмою може бути vi або vim, «покращений vi». Це залежить від вашого дистрибутива Linux — наприклад, Ubuntu використовує vim . Усі інструкції в цій статті однаково стосуються vim.

 vi .bashrc

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

  Як додати метадані до треків Spotify

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

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

Командний режим і режим вставки

Вам потрібно перемкнути vi у відповідний режим для того, що ви намагаєтеся досягти.

Командний режим є режимом за замовчуванням під час запуску vi. Якщо ви не знаєте краще, ви почнете намагатися друкувати. Якщо ви випадково натиснете клавішу «i» або будь-яку з інших 10 клавіш, які викликають режим вставки (a, A, c, C, I, o, O, R, s і S), ви раптом побачите, що ти пишеш. Тепер ви перебуваєте в режимі вставки.

  Додайте нові слова або відредагуйте поточні в словнику свого веб-переглядача

Це може здаватися прогресом, поки ви не натиснете одну з клавіш зі стрілками. Якщо ви це зробите, A, B, C або D з’являться як єдина літера на порожньому новому рядку. У верхній частині файлу.

Все гаразд, ми захищаємо вашу спину. Це напрочуд легко, якщо знати, як. Запам’ятайте ці два натискання клавіш: Esc переведе вас у режим команди, а «i» переведе вас до режиму вставки.

Вам потрібно перебувати в командному режимі, і щоб ввести правильну команду, щоб вийти з редактора.

Від командного режиму до безпечного

Щоб увійти в командний режим, натисніть клавішу Esc. Нічого видимого не станеться. Вдарте його ще кілька разів. Якщо ви почуєте звуковий сигнал під час натискання клавіші Escape, то ви перебуваєте в режимі команди. Звуковий сигнал каже: «Припиніть натискати Esc, ви вже в командному режимі». Якщо ви почуєте звуковий сигнал, натиснувши Esc, ми в порядку.

Введіть двокрапку, букву «q» і знак оклику без пробілів. Ці три символи повинні з’явитися в крайньому лівому куті нижнього рядка терміналу. Якщо ні, натискайте Esc, доки не почуєте звуковий сигнал, і повторіть спробу. Натисніть клавішу Enter, коли ви побачите їх:

:q!

У цій команді q є абревіатурою від quit. Знак оклику додає наголос, тож ви наче вигукуєте «Кут!» на VI. Це може змусити вас почуватися трохи краще.

Знак оклику також наказує vi не зберігати будь-які зміни, які ви могли внести у файл. Якщо ви помилялися в vi і не знали, що робите, ви, ймовірно, не хочете зберігати хаос, який ви завдали.

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

cat .bashrc | less

Коли ви виходите з vi, якщо ви бачите повідомлення «не записувати з моменту останньої зміни», це означає, що ви пропустили знак оклику в команді. Щоб запобігти виходу та втраті будь-яких змін, які ви хотіли б зберегти, vi дає вам можливість зберегти їх. Просто перевидайте :q! команду зі знаком оклику, щоб вийти з vi та відмовитися від будь-яких змін.

  Як автоматично відкривати посилання в Chrome на iPhone та iPad

Якщо Ви впевнені, збережіть зміни

Якщо ви задоволені змінами, які ви внесли у свій файл, ви можете вийти та зберегти зміни за допомогою команди :wq (запис і вихід). Перш ніж продовжити, переконайтеся, що ви повністю задоволені, що хочете, щоб ваші зміни екрана були записані у файл.

Введіть двокрапку, букву w (запис) і букву q (вийти). Натисніть клавішу Enter, коли ви побачите їх у нижньому лівому куті терміналу:

:wq

Крива навчання того варта

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

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

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