Гид по технологиям

Как сохранить и выйти из Vim

4 min read Vim Обновлено 20 Dec 2025
Как сохранить и выйти из Vim
Как сохранить и выйти из Vim

Иллюстрация: сохранение и выход из Vim

Коротко о режиме и командах

Vim — модальный редактор. Режимы, которые нужно знать: нормальный (нажатия клавиш управляют редактором), режим вставки (печать текста) и командный режим (ввод команд, начинающихся с двоеточия). Чтобы попасть в командный режим — нажмите Esc из любого режима.

1-line glossary: Vim — модальный текстовый редактор; командный режим — режим для ввода команд, начинающихся с двоеточия.

Сохранение файла

Переключитесь в командный режим (Esc), затем введите одну из команд:

:w

Эта команда записывает текущий буфер в файл (save). Аналог:

:write

Примечание: если вы хотите сохранить в другой файл, используйте :w имя_файла.

Выход из файла

Если изменений нет или вы уже сохранили, команда для выхода:

:q

Альтернатива:

:quit

Если в буфере есть несохранённые изменения, Vim не выйдет и предупредит вас. В этом случае используйте сохранение перед выходом или принудительный выход.

Сохранить и выйти

Сочетание команд для записи и выхода в одну строку:

:wq

Также работает:

:x

Разница: :x записывает файл только если были изменения; :wq всегда попытается записать.

Скриншот: сохранение файла в Vim

Выйти без сохранения

Если хотите отбросить изменения и выйти:

:q!

Это принудительный выход — Vim не будет сохранять и не спросит подтверждения.

Скриншот: команда сохранения и выхода из Vim

Быстрые сочетания клавиш

  • ZZ — в нормальном режиме сохраняет и выходит (эквивалент :x). Чтобы сработало, нужно, чтобы команда ZZ была включена по умолчанию в вашей сборке Vim.
  • ZQ — выйти без сохранения (эквивалент :q!).

Некоторые терминальные эмуляторы или конфигурации могут перехватывать сочетания клавиш — если ZZ/ZQ не работают, используйте команды с двоеточием.

Когда команды не работают (и что делать)

  • Проблема: Vim сообщает, что файл изменён извне. Решение: :e! перечитает файл с диска, отбросив локальные изменения, или сохраните в другой файл.
  • Проблема: Нет прав на запись. Решение: сохраните под другим именем (:w имя) или выйдите и сохраните с sudo (см. секцию о альтернативных подходах).
  • Проблема: вы не в командном режиме. Решение: нажмите Esc, затем введите команду.

Альтернативные подходы

  • Сохранить через sudo без выхода: если файл принадлежит root, можно использовать команду в командном режиме вместе с внешней программой: :w !sudo tee % >/dev/null — это сохранит файл с правами root без выхода из Vim.
  • Плагинные решения: плагины могут добавить подтверждения, автосохранение или графические подсказки.
  • GUI-версия (gVim, Neovim с GUI): те же команды работают, но интерфейс может предлагать меню “Save”/“Quit”.

Чек-лист по ролям

  • Новичок:
    • Нажать Esc, ввести :w для сохранения, :q для выхода.
    • При сомнении — :w имя_файла (создать копию).
  • Опытный пользователь:
    • Использовать :x или ZZ для быстрого выхода.
    • Настроить автосохранение или макросы при необходимости.
  • Системный администратор:
    • При редактировании системных файлов держать резервную копию.
    • Если нет прав, применить :w !sudo tee % >/dev/null или редактировать через sudoedit.

Шпаргалка (cheat sheet)

ДействиеКоманда
Сохранить:w
Выйти:q
Сохранить и выйти:wq или :x
Выйти без сохранения:q!
Сохранить под другим именем:w имя_файла
Быстрый выход и сохранениеZZ
Быстрый выход без сохраненияZQ

Решение частых задач: мини-методология

  1. Нажмите Esc, чтобы гарантировать нормальный режим. 2. Оцените: нужны ли изменения? 3. Если да — :w, затем :q либо сразу :wq. 4. Если нет — :q. 5. Если нет прав на запись — сохраните под другим именем или используйте sudo-паттерны.

Диаграмма принятия решения

flowchart TD
  A[Начало: хотите выйти?] --> B{Есть несохранённые изменения?}
  B -- Да --> C{Сохранить перед выходом?}
  C -- Да --> D[:wq или :x]
  C -- Нет --> E[:q!]
  B -- Нет --> F[:q]
  D --> G[Выход завершён]
  E --> G
  F --> G

Практические примеры и тесты приёмки

  • Откройте новый файл, напишите текст, выполните :w — файл должен появиться на диске.
  • Измените системный файл без прав — попытка :w должна дать ошибку; :w !sudo tee % >/dev/null должна сохранить.
  • Выполните :q! после изменений — редактор закроется, никаких изменений в файле не будет.

Краткое резюме

Vim управляется режимами: для сохранения и выхода используйте команды в командном режиме. :w, :q, :wq, :x и :q! покрывают большинство сценариев. Для редактирования защищённых файлов применяйте sudo-подходы. Освоив эти простые команды, вы улучшите продуктивность и избежите потери данных.

Important: всегда проверяйте, в каком вы режиме (Esc возвращает в нормальный), и делайте резервные копии при работе с системными файлами.

Скриншот: выход из Vim без сохранения

Конец статьи.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Как на iPhone создать GIF из фото и видео
iPhone

Как на iPhone создать GIF из фото и видео

Встроенный перевод сообщений в Microsoft Teams
Microsoft Teams

Встроенный перевод сообщений в Microsoft Teams

Палитра цветов в Adobe InDesign
Дизайн

Палитра цветов в Adobe InDesign

USB‑микрофон на Android: подключение и настройка
Аудио

USB‑микрофон на Android: подключение и настройка

Блокировка приложения в Интернет через брандмауэр Windows
Руководство

Блокировка приложения в Интернет через брандмауэр Windows

Резервное копирование и восстановление в Windows 7
Windows

Резервное копирование и восстановление в Windows 7