сохранить - как выйти из vim windows




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

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

"type :quit<Enter> to quit VIM"

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


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

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

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

Режим Ex - это другой редактор, например. Это редактор строк. Он работает в строке или на основе ряда строк. В этом режиме в нижней части экрана появляется символ a :. Это бывший редактор.

Чтобы выйти из Vim, вы можете выйти, когда находитесь в режиме ex или в командном режиме. Вы не можете выйти из Vim, когда находитесь в режиме ввода.

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

  1. Вы должны быть уверены, что находитесь в режиме Command. Для этого просто нажмите клавишу Esc .

  2. Перейдите в режим ex, нажав клавишу :

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

    :q - quit :q! - выйти без сохранения :wq - сохранить и выйти или написать & выйти :wq! - то же самое, что и wq, но принудительно записывать в случае, если разрешены права файла :x - write & quit :qa - завершить все. полезно при открытии нескольких файлов: vim abc.txt xyz.txt

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

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

  2. Пресс-капитал ZZ ( shift zz ) - сохранение и выход

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


Вот как вы можете выйти из Vim. Нажмите Ctrl и 'Z', затем «X» и «C».

Ctrl -> +Z -> +X -> +C

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

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


На самом деле невероятно легко выйти из vim .

Нажмите Escape , дважды повернитесь, пейте кошку, сделайте идеальную чашку чая, пройдите четыре минуты, возьмитесь за вечность, сделайте Kessel Run менее чем в 12 парсеков, попросите железный трон, достигнете мира во всем мире, нажмите :q Введите


После нажатия ESC (или cmd + C на моем компьютере) вы должны нажать : для появления командной строки. Затем вы можете ввести quit .

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


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

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

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

Команды, отмеченные '*', являются Vim-only (не реализованы в Vi).

Safe-quit (сбой при несохраненных изменениях):

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

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

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

Запишите (сохранить) изменения и закройте:

  • :wq Записать текущий файл (даже если он не был изменен) и выйти. Запись не выполняется, если файл доступен только для чтения или буфер не имеет имени. :wqa[ll] * для всех окон.
  • :wq! То же самое, но записывает даже файлы только для чтения. :wqa[ll]! * для всех окон.
  • :x[it] , ZZdetails ). Запишите файл только в том случае, если он был изменен и вышел из него :xa[ll] * для всех окон.

Отменить изменения и выйти:

  • :q[uit]! ZQ * Выход без записи, также когда видимые буферы имеют изменения. Не выходит при изменении скрытых буферов.
  • :qa[ll]! * :quita[ll][!] * Quit Vim, все изменения в буферах (включая скрытые) теряются.

Нажмите « Назад», чтобы подтвердить команду.

Этот ответ не ссылается на все команды и аргументы Vim write and quit. На самом деле, они указаны в документации Vim .

Vim имеет обширную встроенную справку, введите Esc :help Return, чтобы открыть его.

Этот ответ был вдохновлен другим , первоначально автором @dirvine и отредактированным другими пользователями SO. Я включил дополнительную информацию из справки Vim, комментариев SO и некоторых других источников. Также отражены различия для Vi и Vim.


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

Ctrl-c Enter Enter vi Ввести Ctrl- \ Ctrl-n :qa! Войти

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

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

  • i Ctrl-o vg (вы вводите режим вставки, затем визуальный режим, а затем режим ожидания оператора)

  • Qappend Enter

  • i Ctrl-o gQ Ctrl-r = Ctrl-k (спасибо porges для этого случая)

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

Изменить: этот ответ был исправлен из-за вышеизложенных случаев. Это было:

Esc Esc Esc :qa! Войти

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

vi Введите :qa! Войти

Итак, полная команда для «Я не хочу знать, что я сделал, и я ничего не хочу ничего спасать, я просто хочу сейчас!» было бы

vi Введите Esc Esc Esc :qa! Войти


Я получил Vim, установив клиент Git в Windows. :q не выйдет из Вима для меня. :exit сделал однако ...







vi