Как: выйти из vim



Попробуйте наш инструмент устранения неполадок

Хотите верьте, хотите нет, но как выйти из Vim - один из самых популярных вопросов, которые Linux и другие новички в Unix задают компьютерным профессионалам. Если вы не знаете, как выйти из Vim или любой другой реализации vi, вам не о чем стесняться. Он является новым для этих операционных систем. На самом деле это то, о чем спрашивают даже многие разработчики, впервые знакомясь с Vim и vi, потому что они так привыкли к другим средам.



В этом руководстве мы предполагаем, что вы уже находитесь в Vim или другой версии редактора vi. Большая часть этого совета должна работать независимо от того, запустили ли вы его из командной строки с помощью команды vi или vim, и он должен работать даже, если вы использовали команду busybox vi. Вы можете запустить командный терминал любым из обычных способов, но если вы хотите закрыть vi, то вы, вероятно, уже внутри него.



Метод 1: быстрый выход из Vim

Если вы просмотрели это руководство, потому что случайно вошли в Vim или vi и просто хотите выйти, не сохраняя вообще никакой работы, то вам следует ввести : q! и нажмите Enter. Это должно вывести вас из редактора. Если этого не произошло, нажмите клавишу Escape (Esc) и введите: q! с последующим вводом. Вы вернетесь в командную строку, удалив все изменения, которые вы могли внести. Вам не нужно беспокоиться о том, что таким образом вы навсегда изменили какой-либо файл!



Читайте дальше, чтобы узнать больше или если вы хотите сохранить свою работу.

Метод 2: методы сохранения и выхода из Vim

Хотя это немного сложно для тех, кто не знаком с Vim или vi, эти редакторы являются модальными. Это означает, что есть режим вставки, в котором вы фактически вводите текст в документ, и командный режим, в котором вы вводите команды так же, как если бы вы были в любой другой командной строке, хотя структура команд сильно отличается от того, к чему вы, вероятно, привыкли. bash или что-то в этом роде. Помните, что эти команды не то же самое, что команды в командной строке, а работают только в Vim или vi.



Чтобы переключиться в командный режим в Vim или vi, нажмите клавишу Esc. Вы также можете использовать Ctrl + [как ярлык, так как клавиша Esc находится далеко от буквенных клавиш на современной клавиатуре. Теперь вы можете ввести : wq и нажмите Enter, чтобы сохранить то, что вы отредактировали, а затем выйдите. Аббревиатура означает запись и выход, поэтому ее легко запомнить: wq как команда. Если вы не внесли изменений, наберите : q и нажатие Enter вернется.

Если вы внесли изменения, команда: q пожалуется на несохраненные изменения. Вы можете потерять свои изменения и просто выйти из редактора с : q! команда. Это была команда, которую мы ранее советовали использовать новым пользователям, если они случайно вошли в Vim и захотели уйти. Однако это сбрасывает ваши изменения, поэтому вы потеряете все, над чем работали.

Если вы запустили vi без имени файла и попытаетесь сохранить изменения, вы получите сообщение об ошибке: Нет такого файла или каталога, так как вы не указали имя. Введите: w, а затем имя файла, чтобы сохранить его после входа в командный режим, нажав Esc или Ctrl + [, а затем вы можете ввести: q, чтобы выйти из него. Вы также можете использовать: w, за которым следует имя файла, если вы открыли файл для редактирования и хотите сохранить его под другим именем перед выходом.

Помните, что вам нужно вводить двоеточие для любой команды, в которой оно есть, потому что на самом деле это часть команды, но в противном случае вам не следует вводить его. Например, вы можете ввести ZZ без двоеточия, чтобы сохранить изменения, если они были внесены, но выйти из редактора без сохранения, если изменений нет. Это немного быстрее, чем писать изменения, если их не было. Другой способ выразить это - зажать Shift, а затем дважды нажать и отпустить клавишу Z. Его легко представить как сочетание клавиш.

Хотя все это может показаться очень сложным, с практикой станет намного проще. Вы можете ввести vim и нажать Enter, чтобы войти в него из любой обычной командной строки, а затем попрактиковаться в этих методах выхода, чтобы улучшить их. Иногда вы можете обнаружить, что если вы просто начнете печатать, вы окажетесь в режиме вставки. Вы всегда можете нажать Escape, чтобы выйти из режима вставки в любое время. Некоторые реализации vi переведут вас в режим вставки, если вы нажмете клавишу Insert, но вы все равно можете нажать Esc и затем ввести: q! чтобы быстро выйти из редактора.

Есть еще один дополнительный прием, который вы также можете использовать. В зависимости от вашей версии vi вы можете ввести и нажмите Enter для выхода. Имейте в виду, что это не будет работать со всеми версиями vi, но в тех, где он работает, он будет записывать измененный файл примерно так же: wq будет.

3 минуты на чтение