Как выйти из редактора Vim?

Я застрял и не могу выбраться. Там написано:

"type :quit<Enter> to quit VIM"

Но когда я набираю это, оно просто появляется в теле объекта.

Комментарии к вопросу (9)
Решение

Нажмите клавишу Esc, чтобы войти в "Обычный режим". Затем вы можете набрать :, чтобы войти в "Режим командной строки". В нижней части экрана появится двоеточие (:), и вы сможете ввести одну из следующих команд. Чтобы выполнить команду, нажмите клавишу Enter.

  • :q для выхода (сокращение от :quit)
  • :q! для выхода без сохранения (сокращение от :quit!)
  • :wq для записи и выхода (сокращенно :quit!)
  • :wq! для записи и выхода, даже если файл имеет разрешение только на чтение (если файл не имеет разрешения на запись: принудительная запись)
  • :x для записи и выхода (аналогично :wq, но запись производится только при наличии изменений)
  • :exit для записи и выхода (аналогично :x)
  • :qa - выйти из всех (сокращение от :quitall)
  • :cq выйти без сохранения и заставить Vim вернуть ненулевую ошибку (т.е. выйти с ошибкой)

Вы также можете выйти из Vim непосредственно из "Обычного режима", набрав ZZ для сохранения и выхода (то же самое, что :x) или ZQ для просто выхода (то же самое, что :q!). (Обратите внимание, что здесь важен регистр. ZZ и zz означают не одно и то же).

Vim имеет обширную справку, доступ к которой можно получить с помощью команды :help, где вы найдете ответы на все ваши вопросы и учебник для начинающих.

Комментарии (19)

Прежде чем вводить команду, нажмите клавишу Esc. После того, как вы его введете, нажмите Возврат для подтверждения.

Esc завершает текущую команду и переключает Vim в [обычный режим][1]. Теперь, если вы нажмете :, ':` появится в нижней части экрана. Это подтверждает, что вы на самом деле вводите команду, а не редактируете файл.

Большинство команд имеют сокращения, с необязательной частью, заключенной в скобки: c[ommand].

Команды, отмеченные знаком "*", доступны только для Vim (не реализованы в Vi).

Безопасный выход (сбой при наличии несохраненных изменений):

  • :q[uit] Закройте текущее [окно][2]. Выйдите из Vim, если это последнее окно. Это не удается, если в текущий [буфер] были внесены изменения[3].
  • :qa[ll]* Закройте все окна и Vim, если только не были изменены некоторые буферы.

Запрос -выход (запрашивает, есть ли несохраненные изменения)

  • :conf[irm] q [uit]* Выйти, но дать подсказку, когда есть некоторые буферы, которые были изменены.
  • :conf[irm] xa[ll]* Написать все чан
Комментарии (1)

Изображения стоят тысячи команд и опций Unix:

Я рисую это своим студентам каждый семестр, и, кажется, после этого они понимают vi.

vi - это [конечный автомат состояния] (https://en.wikipedia.org/wiki/Finite-state_machine), имеющий всего три состояния.

При запуске vi переходит в режим COMMAND, в котором вы можете набирать короткие, в несколько символов, команды вслепую. Вы знаете, что делаете; это не для любителей.

Когда вы хотите действительно редактировать текст, вы должны перейти в режим INSERT с какой-нибудь односимвольной командой:

  • i: перейти в INSERT на месте курсора.
  • I: перейти в режим INSERT в начале строки
  • a: добавить после курсора
  • A: добавить в конец строки
  • o: открыть новую строку ниже текущей строки
  • O: открыть новую строку на месте текущей строки

Теперь ответим на вопрос: выход.

Вы можете выйти из vi в режиме EX:

  • q: если вы не внесли никаких изменений и не сохранили их заранее.
  • q!: игнорировать любые изменения и выйти
  • wq: сохранить и выйти
  • x: равнозначно wq

w и x принимают параметр имени файла. Если вы запустили vi с именем файла, вам не нужно указывать его здесь снова.

И наконец, самое важное: как перейти в режим EX?

Режим EX предназначен для длинных команд, которые вы можете видеть набираемыми в нижней строке экрана. Из режима COMMAND, вы нажимаете двоеточие, :, и в нижней строке появляется двоеточие, где вы можете набирать вышеуказанные команды.

Из режима INSERT вам нужно нажать ESC, т.е. кнопку Escape, чтобы перейти в режим COMMAND, а затем :, чтобы перейти в режим EX.

Если вы не уверены, нажмите ESC, и это приведет вас в командный режим.

Итак, надежным методом является ESC-:-x-Enter, который сохраняет ваш файл и завершает работу.

Комментарии (14)

Если вы хотите выйти без сохранения в Vim и чтобы Vim вернул ненулевой код выхода, вы можете использовать :cq.

Я использую его постоянно, потому что не могу нажать мизинец для !. Я часто передаю в Vim то, что не нужно сохранять в файл. У нас на работе также есть странная обертка SVN, которая должна быть завершена с ненулевым значением, чтобы прервать проверку.

Комментарии (1)

Это худший сценарий выхода из Vim если вы просто хочу уйти, не знаю, что вы'ве сделано и вы не'т волнует, что будет с файлами, которые вы открыли.

Ctrl-cEnterEnterviEnterCtrl-\Ctrl-n:qa!Enter

Это должно сделать вас большую часть времени.

Некоторые интересные случаи, когда вам нужно что-то вроде этого:

  • я<и>на Ctrl-о</роз>ВГ (вы входите в режим вставки, затем в визуальном режиме, а затем оператор отложенный режим)

  • Qappend<и>введите</КДБ>

  • я<и>на Ctrl-о</роз>Джек<и>нажать Ctrl-Р</роз>=<и>на Ctrl-к</роз> (спасибо поргес для этого дела)

  • :набор insertmode (это тот случай, когда <и>нажать Ctrl-\</роз><и>на Ctrl-п</роз> возвращает вас в обычный режим)


Редактировать: этот ответ был скорректирован из-за вышеперечисленных случаях. Раньше было так:

EscEscEsc:qa!Enter

Однако, это не'т работу, если вы ввели режиме Ex. В этом случае вам нужно будет сделать:

ви<и>введите</КБД>:ОК!<и>введите</КБД>

Так что полную команду для "Я не'т хотите знать, что я'ве сделано, и я не'т хотите сохранить что-либо, я просто хочу уйти сейчас!&я бы

viEnterEscEscEsc:qa!Enter

Комментарии (4)

Если вам нужно выйти из Vim в легком режиме (при использовании опции -y), вы можете войти в обычный режим Vim, нажав Ctrl + L, и тогда сработает любой из обычных вариантов выхода.

Комментарии (1)

Vim имеет три режима работы: режим ввода данных, командный режим & бывший режим.

Режима ввода - все, что вы типа, все клавиши отображаются на экране.

Командный режим или режим побега - все, что вы типа в этом режиме воспринимается как команды.

Режиме Ex - это еще один редактор, экс. Это онлайн-редактор. Он работает по линии или на основе ряда линий. В этом режиме <и>:</роз> появляется в нижней части экрана. Это бывший редактор.

Для того, чтобы выйти из Vim, вы можете выйти, пока вы находитесь в режиме Ex или в командном режиме. Вы не можете покинуть ВИМ, когда вы находитесь в режиме ввода.

Выход из режима

  1. Вы должны быть уверены, что вы находитесь в командном режиме. Для этого просто нажмите <и>Эку</КБД> ключ.

  2. Перейдите в режим экс нажатием <и>:</КБД> ключ

  3. Используйте любой из следующих комбинаций в режиме EX на выходе:

- выход :г! - выход без сохранения команду - сохранить & бросить или оставить & бросить команду! - так же, как WQ, но сил писать в случае разрешения файл только для чтения - пишут & бросить :ОК - бросить все. полезно, когда несколько файлов открыт, как: ВИМ abc.txt xyz.txt

Выход из командного режима

  1. Нажмите клавишу Escape. Вы, наверное, уже сделали это, если вы находитесь в командном режиме.

  2. Пресс-капитал ЗЗ (сдвиг ЗЗ) - сохранить и усилитель; выход

  3. Пресс-капитал кассового аппарата (сдвиг Н`) - выход без сохранения.

Комментарии (2)

После удара <и>ЭКУ</роз> (или <и>УМК</роз> + <и>с</роз> на моем компьютере) вы должны нажать <и>:</роз> в командной строке появится. Затем, вы можете ввести "выход".

Вы можете обнаружить, что машина не позволит вам уйти, потому что ваша информация не'т был спасен. Если вы'd, как пытаюсь бросить, введите <и>!</роз> непосредственно после закрытия (т. е. :ухожу!).

Комментарии (0)

У меня есть Vim по установке клиента Git на Windows. не'т выйти из Vim для меня. выход но не...

Комментарии (4)

Я хотел бы добавить мой две копейки на это. Был задан вопрос здесь.

Команда Q с номером закрывает данный Сплит в таком положении.

:д<раскол позиции> или :<раскол позиции>Q, то закроет Сплит в таком положении.

Позвольте'ы сказать, ваше окно Vim планировка выглядит следующим образом:

-------------------------------------------------
|               |               |               |
-------------------------------------------------
|               |               |               |
|               |               |               |
|    Split 1    |    Split 2    |     Split 3   |
|               |               |               |
-------------------------------------------------

Если вы запустите команду В1, он закроет первый раскол. В2 закроет второй сплит и наоборот.

Порядок разделения позиции в команду QUIT не имеет значения. :2кв или :К2 закроет второй сплит.

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

Например, если вы запустите `Q100 в на выше установки окон, где есть только три трещины, он закроет последний сплит (сплит 3).

Комментарии (0)

<Н2>выход ВИМ</Н2>

  1. <и>сочетание клавиш Ctrl</роз>+<и>з</КБД>
  2. <и>ключ X</КБД>
  3. <и>с ключа</КБД>
Комментарии (5)