Как выйти из Вим??! Если ты, мой читатель, читал хоть одну заметку этой рубрики, то, вероятно, уже знаешь ответ на этот вопрос. Но читай дальше: возможно, узнаешь еще больше на эту важную тему.
Начнем с того, что в современном Вим есть окна и вкладки, и то, что раньше называлось "выйти из Вим", теперь закрывает окно или вкладку.
Поехали!
:q — Закрытие окна или вкладки; если оно(она) единственная, то выход из Вим. Если текст не сохранен, ничего не выйдет, получите сообщение вроде такого:
E37: Изменения не сохранены (добавьте !, чтобы обойти проверку)
:q! — Закрытие окна или вкладки без вопросов и предупреждений. Этот тот самый восклицательный знак, про который в сообщении.
:confirm quit — Выход с предложением сохраниться, если есть несохраненный текст.
:cq — Выход с паникой — ничего не сохраняется, системе возвращается ненулевой код завершения. Может быть нужно для скриптов.
:wq — Записать и закрыть текущий файл. Можно задавать опции вида ++opt=value, например ++ff=unix (концы строк), ++enc=cp1251 (кодировка) и кое-что еще. Можно также указать файл, куда писать. Можно указать диапазон строк перед командой — запишутся только они. Например,
:42,666wq ++enc=cp1251 ++ff=dos file.txt
запишет строки с сорок второй по шестьсот шестьдесят шестую в файл file.txt в кодировке Windows с концами строк в стиле DOS/Windows (на конце строки пара \r\n).
:wq! — То же, но флаг read only игнорируется. Запись без вопросов и предупреждений. Можно указать опции и файл-цель, а также диапазон.
:x — то же, что и wq, только запись производится только если есть несохраненный текст. Важно для make (время правки) и большие файлы незачем зря сохранять лишний раз.
ZZ — синоним для : x из основного режима.
ZQ — синоним для : q! из командного режима.
:qa — выход из Вим, если нет несохраненного текста в окнах, вкладках или буферах. Закрываются все окна и вкладки.
:confirm qall — Выход из предложением сохранить несохраненное (как в обычных редакторах).
:qa! — Выход без сохранения. Без предупреждений! Закрываются все окна и вкладки!!
:quitall — длинный синоним для :qa.
:wqa — аналог : wq для всего, что открыто. Сохранить и выйти. Read only и безымянные файлы приведут к ошибке. Добавьте !, чтобы игнорировать Read only.
:xa — аналог :x, но для всех окон и вкладок.
:confirm wqall — выход с возможностью сохранить несохраненное.
Все это разнообразие вы можете навесить на горячие клавиши. Что до меня, то я повесил :q на <F10>, а : q! — на <S-F10>. На <C-F10> навешено :confirm qall, но пользуюсь редко. Когда надо выйти из всего (редко), набираю :qa или :qa! вручную. Запись :w у меня повешена на <F2>, во всех режимах, поэтому сохраняю все вкладки сам, это не проблема, а потом выхожу. Можно сделать меню и выходить как в лучших домах: из вкладки, из Вим вообще, с сохранением, без оного, с предложением сохраниться...
Спасибо, и удачи во всем!