Страницы

Поиск по вопросам

понедельник, 25 ноября 2019 г.

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


Работал в командной строке. Попал в странный текстовый редактор, в котором не работает мышка. Вижу сообщение


  "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!

Комментариев нет:

Отправить комментарий