Работал в командной строке. Попал в странный текстовый редактор, в котором не работает мышка. Вижу сообщение
"type :quit to quit VIM"
Но команда пишется прямо в текстовый файл и не выполняется.
Что делать, как выйти?
Ответы
Ответ 1
Добро пожаловать в Vim!
Прежде чем ввести команду, нажмите Esc. Чтобы потом подтвердить команду, нажмите Enter.
Клавиша Esc переключает Vim в нормальный режим. Если в этом режиме нажать : (проверьте
что установлена английская раскладка и снят CapsLock, затем одновременно нажмите Shif
и ;), то символ : появится в нижней части экрана, и редактор перейдёт в режим командной строки. Это гарантирует, что вы сейчас именно вводите команду, а не редактируете файл. Помните, что регистр вводимых команд важен.
У большинства команд есть укороченные версии. Необязательная часть дается в квадратных скобках: к[оманда].
Команды, данные курсивом, подходят только для Vim (не реализованы в Vi).
Выйти безопасно (не срабатывает, если есть не сохраненные изменения)
:q[uit] Выйти из текущего окна Vim. Если это окно — последнее, то выйти из Vim
Если в текущем буфере есть не сохраненные изменения, команда не сработает.
:qa[ll] Закрыть все окна и выйти из Vim. Не сработает, если хотя бы в одном буфере есть не сохраненные изменения.
Выйти с подтверждением (запрашивает подтверждение, если есть не сохраненные изменения)
:conf[irm] q[uit] Закрыть все окна и выйти из Vim. Запрашивает подтверждение, если есть буферы с не сохраненными изменениями.
:conf[irm] xa[ll] Сохранить все изменения, закрыть все окна и выйти из Vim. Запрашивает подтверждение, если какие–либо буферы не могут быть сохранены.
Записать (сохранить) изменения и выйти
:wq Записать текущий буфер в соответствующий ему файл (даже если изменений не было) и закрыть окно. :wqa[ll] для всех окон.
:wq! То же самое, но записывает даже файлы, отмеченные только для чтения (read-only). :wqa[ll]! для всех окон.
:x[it], ZZ(но с некоторыми особенностями). Сохранить файл только если в нем ест
изменения и выйти, :xa[ll] для всех окон.
Отменить (и потерять) изменения и выйти
:q[uit]! ZQ Выйти без сохранения, в том числе когда есть изменения в видимых буферах. Не сработает, если изменения есть также и в скрытых буферах.
:qa[ll]!, :quita[ll][!] Выйти без сохранения, отменяя все изменения как в видимых, так и в скрытых буферах.
Нажмите Enter чтобы выполнить введенную команду.
Этот ответ все-таки не охватывает все возможные способы выйти из Vim. Полный список можно найти в документации Vim.
На момент публикации все ссылки верны и ведут на англоязычную версию документации
но сайт временно недоступен. Когда он поднимется, я добавлю ссылки на русскоязычную версию.
Vim также имеет встроенную документацию. Чтобы ее открыть: Esc:helpEnter. Чтоб
использовать русскоязычную встроенную документацию, необходимо включить русскую локализацию в настройках Vim.
Это перевод собственного ответа на EN.SO. При написании использовалась документаци
Vim и, в качестве ориентира и источника вдохновения, ответы других пользователей, особенно @dirvine.
Ответ 2
Выйдите лучше так:
Esc затем :q! и подтвердить Enter.
Замените редактор, на тот, в котором выход не вызовет затруднений:
export EDITOR=notepad.exe
После чего, повторите комманду, после которой попали в "незнакомый" редактор.
И только если абсолютно уверены, то выйдите с сохранением изменений:
Esc затем :х и подтвердить Enter.
Ответ 3
Выход с сохранением изменений в файле:
Сначала жмем Esc
потом :wq!
потом enter
Если требуется выйти без сохранения изменений, то вместо :wq! надо написать :q!
Комментариев нет:
Отправить комментарий