Найти в Дзене
Герман Геншин

Сенсация для новичков: как выбраться из Vi или Vim за секунду и не сойти с ума!

Если вы впервые запустили редактор vi, он точно покажется вам загадкой. Просто так выйти из него не получится — тут нужен секрет. Сейчас покажу, как выйти из vi или vim в Linux, macOS и других UNIX-системах. Случайно оказались в vi или vim — и не понимаете, как выбраться? На самом деле всё очень просто — с сохранением изменений или без них. Если хотите освоить Linux как профи — вам нужно знать об этом! Ниже объясню, как устроен vi и почему выход из него — отдельная история. Инструмент мощный, разобраться определённо стоит. vi установлен почти на всех системах Linux и UNIX — так что риск случайно попасть в него очень велик. Например, вы захотели помочь другу починить его ПК, набрали crontab -e, а тут открывается vi, потому что он остался редактором по умолчанию. Иногда vi — единственный редактор, который вообще доступен, особенно если вы работаете удалённо через SSH и, к примеру, нужно изменить .bashrc пользователя. Открыть файл в vi просто: напишите vi, пробел, имя файла и нажмите Ent
Оглавление

Быстрая навигация

О чём статья

Если вы впервые запустили редактор vi, он точно покажется вам загадкой. Просто так выйти из него не получится — тут нужен секрет. Сейчас покажу, как выйти из vi или vim в Linux, macOS и других UNIX-системах.

Как выйти из Vim или Vi мгновенно

Случайно оказались в vi или vim — и не понимаете, как выбраться? На самом деле всё очень просто — с сохранением изменений или без них.

Если хотите освоить Linux как профи — вам нужно знать об этом! Ниже объясню, как устроен vi и почему выход из него — отдельная история. Инструмент мощный, разобраться определённо стоит.

vi — редактор, который поджидает вас везде

vi установлен почти на всех системах Linux и UNIX — так что риск случайно попасть в него очень велик. Например, вы захотели помочь другу починить его ПК, набрали crontab -e, а тут открывается vi, потому что он остался редактором по умолчанию.

Иногда vi — единственный редактор, который вообще доступен, особенно если вы работаете удалённо через SSH и, к примеру, нужно изменить .bashrc пользователя.

Открыть файл в vi просто: напишите vi, пробел, имя файла и нажмите Enter. На некоторых Linux вместо vi запускается vim — это обновлённая версия. Всё, что описано ниже, подходит для обоих.

-2

Главная особенность vi в том, что сразу после запуска текст вводить нельзя — редактор работает в командном режиме. vi — это модальный редактор: в одном режиме (Insert) вы печатаете текст, в другом (Command) отдаёте команды. По умолчанию vi стартует именно в командном режиме.

Если вы раньше с таким не сталкивались, сначала это может показаться хаосом. Многие команды что-то делают с файлом — если находитесь в командном режиме и пытаетесь печатать буквы, vi воспринимает их как команды: строки могут пропасть, что-то удалится или переместится.

Самое обидное — привычные комбинации вроде Ctrl C или Ctrl X не работают: выйти из vi так не получится. Файл превращается в неразбериху, а случайные звуки раздражают всё больше.

-3

Командный и режим ввода — что это?

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

По умолчанию vi запускается в командном режиме. Обычно человек сразу пытается печатать — если случайно нажать "i" или одну из похожих клавиш (a, A, c, C, I, o, O, R, s, S), вы переходите в режим вставки и наконец сможете ввести текст.

Кажется, что всё заработало... пока не попробуете стрелочки — вместо перемещения курсора на экране появляются буквы, например, A, B, C или D — в начале и на пустых строках.

Не переживайте — всё решается просто! Запомните: Esc — вход в командный режим, "i" — обратно к вводу текста.

Важный момент: команды выхода работают только в командном режиме!

Как попасть в командный режим Vi и спастись

Чтобы перейти в командный режим, нажмите Esc. Внешне ничего не изменится, но можете нажать Esc ещё раз — если услышите звуковой сигнал, значит уже в командном режиме. Дальше кнопку жать не надо: писк говорит, что вы там, где надо.

Теперь введите по очереди: двоеточие, буква "q", восклицательный знак — всё подряд, без пробелов. Команда появится внизу слева. Не видите её? Снова жмите Esc и наберите ещё раз. Как команда появилась — нажимайте Enter:

-4

Команда q — сокращение от "quit" (выйти). Восклицательный знак говорит vi: "Выйти немедленно!" — и не сохранять изменения. Если вы вдруг наделали кучу ошибок — этот способ ваш спасательный круг.

После выхода полезно проверить, что с файлом ничего не случилось. Для этого можно использовать команду:

-5

Если при попытке выйти vi показывает “no write since last change” — вы забыли добавить восклицательный знак. Редактор даёт вам ещё шанс всё сохранить. Не хотите? Просто снова наберите :q! и закройте всё без изменений.

-6

Нужно сохранить изменения? Вот как это сделать

Если всё устроило и изменения важны — выйдите с сохранением: наберите :wq (write quit). Только убедитесь, что правки чисто нужны.

Всё как прежде — двоеточие, "w" (сохранить), "q" (выйти), потом Enter. Команда — внизу слева:

-7

Почему «подружиться» с vi действительно стоит

Уметь работать в vi — почти как играть на музыкальном инструменте: с первого раза не выйдет. Не тренируйтесь на важном файле — тут нужна практика и выдержка. Согласитесь, отправиться на сцену без репетиций — не лучшая идея, и здесь всё так же.

Главное преимущество vi — сотни горячих клавиш на все случаи жизни. Научившись, вы справитесь с файлами втрое быстрее, но сначала эти приёмы нужно освоить.

Если пока не разбираетесь в vi, а случайно оказались в нём на критичном файле — просто пропишите :q! и выбирайтесь на свободу. Сохраните нервы и не потеряете данные!

Если вам понравилась эта статья, подпишитесь, чтобы не пропустить еще много полезных статей!

Премиум подписка - это доступ к эксклюзивным материалам, чтение канала без рекламы, возможность предлагать темы для статей и даже заказывать индивидуальные обзоры/исследования по своим запросам!Подробнее о том, какие преимущества вы получите с премиум подпиской, можно узнать здесь

Также подписывайтесь на нас в: