сохранить - как выйти из vim windows
Как выйти из редактора Vim? (8)
Я застрял и не могу убежать. В нем говорится:
"type :quit<Enter> to quit VIM"
Но когда я печатаю, он просто появляется в теле объекта.
Vim имеет три режима работы: режим ввода, командный режим и режим Ex.
Режим ввода - все, что вы набираете, все нажатия клавиш отображаются на экране.
Командный режим или режим Escape - все, что вы вводите в этом режиме, интерпретируется как команда.
Режим Ex - это другой редактор, например. Это редактор строк. Он работает в строке или на основе ряда строк. В этом режиме в нижней части экрана появляется символ a :. Это бывший редактор.
Чтобы выйти из Vim, вы можете выйти, когда находитесь в режиме ex или в командном режиме. Вы не можете выйти из Vim, когда находитесь в режиме ввода.
Выход из режима ex
Вы должны быть уверены, что находитесь в режиме Command. Для этого просто нажмите клавишу Esc .
Перейдите в режим ex, нажав клавишу :
Для выхода используйте любую из следующих комбинаций в режиме ex:
:q
- quit:q!
- выйти без сохранения:wq
- сохранить и выйти или написать & выйти:wq!
- то же самое, что и wq, но принудительно записывать в случае, если разрешены права файла:x
- write & quit:qa
- завершить все. полезно при открытии нескольких файлов:vim abc.txt xyz.txt
Выход из командного режима
Нажмите клавишу эвакуации. Возможно, вы уже это сделали, если находитесь в командном режиме.
Пресс-капитал ZZ (
shift zz
) - сохранение и выходПресса капитала 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]
,ZZ
(с details ). Запишите файл только в том случае, если он был изменен и вышел из него: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-ovg
(вы вводите режим вставки, затем визуальный режим, а затем режим ожидания оператора)Qappend
Enteri
Ctrl-ogQ
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
сделал однако ...