Как выйти из Nano и Vim в Linux: горячие клавиши для новичков
Типичная ловушка новичка в терминале Linux
При выполнении команд вроде git commit, crontab -e или случайном открытии файла консоль блокируется, и привычные сочетания клавиш (Ctrl+C, Ctrl+Z, Escape или закрытие крестиком) либо не работают, либо ломают сессию терминала. Вы оказываетесь внутри одного из встроенных редакторов — Nano или Vim.
Как понять, какой именно редактор открыт:
| Признак в окне консоли | Какой редактор запущен | Главная сложность |
|---|---|---|
Внизу экрана есть подсказки вида ^G Get Help ^O WriteOut ^X Exit | GNU Nano | Символ ^ обозначает клавишу Ctrl |
Внизу пусто, слева на пустых строках стоят символы тильды ~ | Vim / Vi | Редактор работает в модальном режиме команд |
Инструкция по выходу из редакторов
Часть 1. Как выйти из Nano
- Чтобы выйти без сохранения изменений: нажмите
Ctrl + X. Если файл менялся, редактор спросит: Save modified buffer? Нажмите латинскую клавишуN(No). - Чтобы сохранить и выйти: нажмите
Ctrl + O, нажмите клавишуEnterдля подтверждения имени файла, затем нажмитеCtrl + X.
Часть 2. Как выйти из Vim / Vi
Главное правило Vim: Перед вводом команд выхода обязательно нажмите клавишу Esc один или два раза, чтобы выйти из режима вставки текста (Insert) в командный режим.
- Выйти БЕЗ сохранения (принудительно сбросить правки):
# Нажмите Esc, затем наберите двоеточие, букву q и восклицательный знак: :q! # Нажмите Enter - Сохранить изменения и выйти:
# Нажмите Esc, затем наберите двоеточие, w (write) и q (quit): :wq # Нажмите Enter (или удерживая Shift нажмите ZZ) - Просто выйти (если вы ничего не меняли):
# Нажмите Esc, затем наберите: :q # Нажмите Enter
Частые вопросы (FAQ)
Что делать, если в Vim случайно нажата клавиша i и внизу горит -- INSERT --?
Вы перешли в режим ввода текста. Просто нажмите клавишу Escape на клавиатуре. Надпись -- INSERT -- внизу пропадет, и редактор снова начнет принимать команды :q! или :wq.
Почему в Nano написано ^X, но сочетание Shift+6+X не работает?
Символ крышечки (карет) ^ в терминале Linux всегда обозначает клавишу Ctrl. Комбинация ^X означает одновременное нажатие Ctrl и X.
Как сделать редактор Nano редактором по умолчанию для crontab и git?
Выполните в терминале команду: export SELECTED_EDITOR="/bin/nano" или выберите его интерактивно через команду sudo update-alternatives --config editor.
Что делать, если терминал намертво завис после нажатия Ctrl+S?
В Linux сочетание Ctrl+S включает программную блокировку экрана (XOFF). Чтобы разблокировать терминал и продолжить работу, нажмите сочетание клавиш Ctrl+Q.