Как выйти из vim и nano
Как выйти
Какой редактор открыт, видно по экрану: у nano внизу две строки подсказок со знаком ^ (например, ^X — выход), у vim таких подсказок нет, а пустые строки после конца файла помечены слева знаком ~.
vim или vi
Нажмите Esc, затем наберите одно из:
| Команда | Что делает |
|---|---|
:q и Enter | выйти, если ничего не меняли |
:q! и Enter | выйти без сохранения изменений |
:wq и Enter | сохранить и выйти |
:x и Enter | сохранить (если были изменения) и выйти |
Команда с двоеточием появляется в самой нижней строке экрана. Если там не видно : — нажмите Esc ещё раз и наберите заново.
Почему vim «не выходит»
В vim несколько режимов. В режиме вставки (внизу надпись -- INSERT --, в русском интерфейсе — -- РЕЖИМ ВСТАВКИ --) все клавиши печатают текст, поэтому :q просто попадёт в файл. Esc возвращает в обычный режим, где работают команды.
E37: No write since last change(в русском интерфейсе — «Данные в буфере не сохранены») — в файле есть несохранённые изменения. Выйти с ними —:wq, бросить их —:q!.E45: 'readonly' option is setили ошибка записи — у вас нет права менять файл. Выйдите через:q!и откройте файл заново черезsudo:sudo vim /etc/hosts.- Внизу надпись
recording(по-русски —ЗАПИСЬ В РЕГИСТР) — случайно нажатаqи vim записывает макрос (запись нажатий клавиш для повтора). Нажмитеqещё раз, чтобы остановить запись, потомEscи:q!.
nano
| Клавиши | Что делают |
|---|---|
Ctrl+X | выйти. Если файл менялся, nano спросит, сохранить ли его |
Ctrl+O, затем Enter | сохранить, не выходя |
Ctrl+K и Ctrl+U | вырезать строку и вставить |
Ctrl+W | поиск по тексту |
На вопрос о сохранении после Ctrl+X ответьте клавишей, которая показана внизу экрана (в английском интерфейсе Y — да, N — нет), затем подтвердите имя файла клавишей Enter. Знак ^ в подсказках внизу означает Ctrl.
Если терминал не реагирует совсем
- Вы могли случайно нажать
Ctrl+S— в терминале это останавливает вывод на экран. НажмитеCtrl+Q. - Программа ждёт ввода или работает долго —
Ctrl+Cпрерывает команду (в vim и nano — нет, там используйте способы выше). - Ничего не помогает — закройте окно терминала. Несохранённые изменения в файле пропадут, а vim при следующем открытии этого файла предложит восстановить их из временного файла
.swp.
Редактор по умолчанию
Команды вроде crontab -e и git commit открывают редактор из переменной EDITOR. Чтобы там всегда был nano, допишите в ~/.bashrc:
export EDITOR=nanoВ Debian, Ubuntu и Mint есть ещё общесистемная настройка: sudo update-alternatives --config editor.