Как выйти из текстового файла в командной строке

Обновлено: 07.07.2024

Это одни из самых популярных вопросов о редакторе Vim. Vim, один из лучших редакторов для терминалов, известен своими мощными функциями. Его ярые пользователи клянутся им, но новых пользователей он сбивает с толку из-за его «необычных ярлыков». Это даже заставляет их задуматься, как выйти из редактора Vim.

В этой статье я покажу вам несколько способов выхода из Vim. Мы также узнаем несколько интересных фактов о выходе из Vim.

Как выйти из Vim?

Как вы уже видели в дополнительных советах по Vim, есть несколько способов выйти из Vim. Позвольте мне перечислить их один за другим вместе с процедурой.

Шаг 1. Войдите в командный режим, нажав клавишу Esc

Нажмите клавишу Esc: это очень важно, потому что вы должны сначала выйти из режима редактирования, прежде чем вводить команды выхода.

Шаг 2. Выйдите из vim с помощью команд

Далее вы можете ввести одну из следующих команд, чтобы выйти из Vim в другом режиме:

  • :q (да, двоеточие включено в команду) — это закроет редактор. Это может подсказать вам, если вы пытаетесь выйти из Vim и есть несохраненные изменения.
  • :q! – Выйти из Vim без сохранения файла данных (все несохраненные изменения отбрасываются).
  • :wq — сохранить файл и выйти из Vim.

Шаг 3. Нажмите клавишу ввода

После того, как вы выбрали команду выхода, нажмите Enter, чтобы, наконец, выйти из Vim и закрыть редактор (но не терминал).

Обратите внимание, что когда вы нажимаете «:», в редакторе следующие нажатия клавиш отображаются в левом нижнем углу терминала.

Другие способы выхода из Vim

Как правило, вы должны помнить три приведенные выше команды и хорошо уметь выходить из Vim. Но, как я уже говорил, для выхода из Vim есть и другие способы. Это следующие:

  • Esc + :x + Enter (сохранение и выход)
  • Esc + :qa + Enter (закрыть все открытые файлы)
  • Esc + Shift ZZ (сохранение и выход)
  • Esc + Shift ZQ (Выход без сохранения)

Теперь вам решать, как выйти из редактора Vim. Если вы спросите меня, вам следует выбрать первый метод.

Вы сохраняете (без выхода) с помощью команды :w, а затем можете использовать :wq для сохранения и выхода (w для сохранения и q для выхода). q для выхода легче запомнить.

Факты и интересное о выходе из Vim

Если вы чувствуете себя немного подавленным из-за того, что не знаете, как выйти из Vim, не делайте этого, потому что вы не единственный. По данным Stack Overflow, более миллиона разработчиков по всему миру искали способ выхода из Vim.

На самом деле уход из Vim стал темой для обсуждения в популярной культуре. Взять, к примеру, этот твит. Это одна из самых популярных насмешек над «сложностью» выхода из Vim:

Но иногда очевидные вещи не так очевидны. Забавно, что мы настолько привыкли к сочетаниям клавиш Ctrl+S, Ctrl+X, что сбиваемся с толку, когда нигде не находим такие же «стандартные» сочетания клавиш. Я имею в виду, что даже клавиши Ctrl+C для остановки команд здесь не работают.

Vim — отличный редактор. Если вы сможете освоить его особенности, ничего подобного больше не будет. Сисадмины особенно много времени проводят в командной строке. Освоение Vim действительно может быть полезным. По крайней мере, вы должны освоить основные команды vim.

Я надеюсь, что это руководство помогло вам сохранить и выйти из Vim. Поделитесь своим мнением и мыслями по этому поводу.

В этой статье мы узнаем, как выйти из текстового редактора Vi/Vim (далее Vim) с помощью простых команд. В предыдущей статье мы объяснили простой совет, как сохранить файл в Vi или Vim после внесения изменений в файл.

Прежде чем мы двинемся дальше, если вы новичок в Vim, мы рекомендуем прочитать эти 10 причин, по которым вам следует придерживаться использования текстового редактора Vi/Vim в Linux.

Чтобы открыть или создать новый файл с помощью Vi/Vim, просто введите приведенные ниже команды, затем нажмите i, чтобы переключиться в режим вставки (вставить текст):

Нажмите 'i' для режима вставки в редакторе Vim

После внесения изменений в файл нажмите [Esc], чтобы перейти в командный режим, и нажмите :w и нажмите [Enter], чтобы сохранить файл.

Сохранить файл в Vim

Чтобы выйти из Vi/Vim, используйте команду :q и нажмите [Enter] .

 Выход из файла в редакторе Vi

Чтобы сохранить файл и одновременно выйти из Vi/Vim, используйте команду :wq и нажмите [Enter] или команду :x.

Сохранить и закрыть файл в Vi

Если вы вносите изменения в файл, но пытаетесь закрыть Vi/Vim с помощью клавиш ESC и q, вы получите сообщение об ошибке, как показано на снимке экрана ниже.

Vi Error Quiting File

Чтобы принудительно выполнить это действие, используйте ESC и :q! .

Принудительно закрыть файл Vi в Linux

Кроме того, вы можете использовать быстрые методы. Нажмите клавишу [Esc] и введите Shift + Z Z, чтобы сохранить и выйти, или нажмите Shift + Z Q, чтобы выйти без сохранения изменений, внесенных в файл.

Изучив приведенные выше команды, теперь вы можете приступить к изучению расширенных команд Vim по приведенным ниже ссылкам:

В этой статье мы узнали, как выйти из текстового редактора Vim с помощью простых команд. Есть ли у вас какие-либо вопросы, чтобы задать или какие-либо мысли, чтобы поделиться? Пожалуйста, воспользуйтесь формой обратной связи ниже.

Если вам понравилась эта статья, подпишитесь на уведомления по электронной почте о руководствах по Linux. Если у вас есть вопросы или сомнения? обратитесь за помощью в разделе комментариев.

Если вы цените то, что мы делаем здесь, в TecMint, вам следует подумать о следующем:

TecMint – это самый быстрорастущий и пользующийся наибольшим доверием сайт сообщества, где можно найти любые статьи, руководства и книги по Linux в Интернете. Миллионы людей посещают TecMint! для поиска или просмотра тысяч опубликованных статей, доступных всем БЕСПЛАТНО.

Если вам нравится то, что вы читаете, купите нам кофе (или 2) в знак признательности.

Vim — это текстовый редактор для Linux, основанный на старом редакторе Vi. Vim — это расширенная версия Vi; многие команды работают как для Vi, так и для Vim.

В этом руководстве показано, как выйти в терминале или с помощью сочетания клавиш.

Примечание. В некоторых дистрибутивах Linux, таких как Ubuntu 18.04 и 20.04, может быть установлена ​​минимальная версия Vim. Следуйте нашему руководству, чтобы установить полную версию Vim на Ubuntu.

Как выйти из Vim в терминале или с помощью ярлыков в Linux

  • Система Linux
  • Доступ к окну терминала/командной строке (Действия > Поиск > Терминал)
  • Учетная запись пользователя с правами sudo или root (для редактирования некоторых файлов могут потребоваться повышенные права)

Примечание. Если вам нужен тестовый файл для тренировки, откройте окно терминала и введите vim test.txt . Затем нажмите букву i, чтобы переключиться в режим вставки, и введите несколько строк текста.

Выйти из Vim в Терминале

Чтобы выполнять команды в Vi/Vim, переключитесь в командный режим.

<р>1. Нажмите клавишу Esc.

<р>2. Вы должны увидеть, что метка ––INSERT–– исчезает из нижнего левого угла.

<р>3. Чтобы сохранить изменения перед выходом, введите :w , а затем Enter. Это сохранит любые сделанные изменения. В ответ Vim выведет имя файла, новый ли он и сколько символов было записано на жесткий диск.

 Сохраните файл в Vim». ширина=

<р>4. Чтобы выйти из Vi/Vim, введите :q и нажмите Enter.

 Выйдите из текстового редактора Vim». ширина=

Примечание. Хотите персонализировать интерфейс Vim и добавить подсветку синтаксиса? Узнайте, как изменить и использовать цветовые схемы Vim.

Выйти из Vim с помощью сочетания клавиш

В дополнение к командному режиму в Vim также есть возможность использовать сочетания клавиш:

  • Чтобы сохранить файл в Vim и выйти, нажмите Esc >Shift + ZZ.
  • Чтобы выйти из Vim без сохранения, нажмите Esc > Shift + ZX.

Дополнительные параметры команды для выхода из Vim

Вот список команд для выхода из Vim:

  • Esc — перейти в командный режим
  • :w — записать сделанные изменения
  • :q — выйти из Vim
  • :q! – выйти из Vim и отменить все изменения
  • :wq — сохраняет изменения и закрывает Vim
  • : x — сохранить внесенные изменения и выйти из Vim

Примечание. Не забудьте сначала ввести двоеточие ( : ), чтобы обозначить команду. Используйте клавишу Enter, чтобы активировать его.

Теперь у вас должно быть несколько способов выхода из текстового редактора Vi/Vim. Затем изучите другие важные команды Vim.

Получите полный доступ к Learning the vi и Vim Editors, 7th Edition и более 60 000 других наименований с бесплатной 10-дневной пробной версией O'Reilly.

Есть также прямые онлайн-мероприятия, интерактивный контент, материалы для подготовки к сертификации и многое другое.

Открытие и закрытие файлов

Вы можете использовать vi для редактирования любого текстового файла.vi копирует редактируемый файл в буфер (область, временно выделенная в памяти), отображает буфер (хотя вы можете видеть только один экран за раз), и позволяет добавлять, удалять и изменять текст. Когда вы сохраняете изменения, vi копирует отредактированный буфер обратно в постоянный файл, заменяя старый файл с тем же именем. Помните, что вы всегда работаете с копией вашего файла в буфере, и ваши изменения не повлияют на исходный файл, пока вы не сохраните буфер. Сохранение ваших правок также называется «записью буфера» или, чаще, «записью вашего файла».

Открытие файла

vi — это команда Unix, которая вызывает редактор vi для существующего файла или для нового файла. Синтаксис команды vi:

Квадратные скобки в приведенной выше командной строке означают, что имя файла является необязательным. Скобки не должны быть напечатаны. $ — это приглашение Unix. Если имя файла не указано, vi откроет безымянный буфер. Вы можете назначить имя при записи буфера в файл. Однако сейчас давайте продолжим называть файл в командной строке.

Если вы хотите открыть новый файл в каталоге, укажите новое имя файла с помощью команды vi. Например, если вы хотите открыть новый файл с именем practice в текущем каталоге, введите:

Поскольку это новый файл, буфер пуст, и экран выглядит следующим образом:

Тильды (~) в левом столбце экрана означают, что в файле нет текста, даже пустых строк. Строка подсказки (также называемая строкой состояния) в нижней части экрана повторяет имя и статус файла.

Вы также можете редактировать любой существующий текстовый файл в каталоге, указав его имя. Предположим, что есть файл Unix с именем пути /home/john/letter. Если вы уже находитесь в каталоге /home/john, используйте относительный путь. Например:

выводит на экран копию файла letter.

Если вы находитесь в другом каталоге, укажите полный путь, чтобы начать редактирование:

Проблемы с открытием файлов

При вызове vi появляется сообщение [open mode] .

Возможно, тип вашего терминала определен неправильно. Немедленно завершите сеанс редактирования, набрав :q . Проверьте переменную окружения $TERM. Он должен быть установлен на имя вашего терминала. Или попросите вашего системного администратора предоставить соответствующую настройку типа терминала.

Вы видите одно из следующих сообщений:

Ваш тип терминала либо не определен, либо, возможно, что-то не так с вашей записью terminfo или termcap. Введите :q, чтобы выйти. Проверьте переменную среды $TERM или попросите системного администратора выбрать тип терминала для вашей среды.

Сообщение [новый файл] отображается, когда вы считаете, что файл уже существует.

Проверьте, правильно ли вы указали регистр в имени файла (имена файлов Unix чувствительны к регистру). Если у вас есть, то вы, вероятно, находитесь в неправильном каталоге. Введите :q, чтобы выйти. Затем убедитесь, что вы находитесь в правильном каталоге для этого файла (введите pwd в командной строке Unix). Если вы находитесь в правильном каталоге, проверьте список файлов в каталоге (с помощью ls ), чтобы увидеть, существует ли файл под немного другим именем.

Вы вызываете vi , но получаете приглашение с двоеточием (указывающее, что вы находитесь в ex < em>режим редактирования строк).

Возможно, вы набрали прерывание, прежде чем vi смог отрисовать экран. Введите vi, набрав vi в приглашении ex ( : ).

Появляется одно из следующих сообщений:

«Только для чтения» означает, что вы можете только просматривать файл; вы не можете сохранить сделанные вами изменения. Возможно, вы вызвали vi в режиме просмотра (с представлением или vi -R ), или у вас нет разрешения на запись в файл. См. раздел Проблемы с сохранением файлов.

Появляется одно из следующих сообщений:

Файл, который вы вызвали для редактирования, не является обычным текстовым файлом. Введите :q! чтобы выйти, затем проверьте файл, который вы хотите отредактировать, возможно, с помощью команды file.

При вводе :q из-за одной из ранее упомянутых трудностей появляется следующее сообщение:

Вы изменили файл, не осознавая этого. Введите :q! чтобы выйти из vi. Ваши изменения из этого сеанса не будут сохранены в файле.

Модус операнди

Как упоминалось ранее, концепция текущего «режима» является фундаментальной для работы vi. Существует два режима: командный режим и режим вставки . Вы начинаете в командном режиме, где каждое нажатие клавиши представляет собой команду. В режиме вставки все, что вы вводите, становится текстом в вашем файле.

Иногда вы можете случайно войти в режим вставки или, наоборот, случайно выйти из режима вставки. В любом случае то, что вы наберете, скорее всего, повлияет на ваши файлы неожиданным для вас образом.

Нажмите клавишу ESC, чтобы принудительно перевести vi в командный режим. Если вы уже находитесь в командном режиме, vi подаст звуковой сигнал, когда вы нажмете клавишу ESC. (Поэтому командный режим иногда называют «звуковым режимом».)

После безопасного перехода в командный режим вы можете исправить любые случайные изменения, а затем продолжить редактирование текста.

Сохранение и выход из файла

Вы можете в любой момент прекратить работу с файлом, сохранить изменения и вернуться к командной строке Unix. Команда vi для выхода и сохранения изменений — ZZ. Обратите внимание, что ZZ пишется с большой буквы.

Предположим, что вы создали файл с именем practice для отработки команд vi и ввели шесть строк текста. Чтобы сохранить файл, сначала убедитесь, что вы находитесь в командном режиме, нажав ESC , а затем введите ZZ .

Подайте команду записи и сохранения, ZZ . Ваш файл сохраняется как обычный файл Unix.

Список файлов в каталоге показывает новый файл practice, который вы создали.

Вы также можете сохранить изменения с помощью команд ex. Введите :w, чтобы сохранить (записать) ваш файл, но не выходить из vi; введите :q, чтобы выйти, если вы не вносили никаких изменений; и введите :wq, чтобы сохранить изменения и выйти. ( :wq эквивалентно ZZ .) Мы полностью объясним, как использовать команды ex в главе 5; пока вам нужно просто запомнить несколько команд для записи и сохранения файлов.

Получите Изучение редакторов vi и Vim, 7-е издание прямо сейчас с онлайн-обучением O’Reilly.

Члены O’Reilly проходят онлайн-обучение в режиме реального времени, а также получают книги, видео и цифровой контент от более чем 200 издателей.

Скромный и устаревший редактор vi по-прежнему является фаворитом среди системных администраторов *nix и остается важным инструментом для создания и редактирования файлов из командной строки.

Опубликовано: 20 августа 2019 г. | Кен Хесс (Red Hat)

vi против emacs

Поседевшие виски и нуждающиеся в очках для чтения, 43-летний редактор vi (произносится как ви-ай) до сих пор остается лучшим другом системного администратора. Эта продвинутая, но простая в использовании программа редактирования командной строки не показывает никаких признаков замедления. Вы можете использовать его для редактирования файлов конфигурации, создания списка покупок, написания письма домой с просьбой о деньгах, создания нового скрипта или даже редактирования исходного кода.

Примечание. vi часто является символической ссылкой на vim (vi Improved) или псевдонимом vim.

Вызвать vi легко. В командной строке вы вводите vi, чтобы либо создать новый файл, либо отредактировать существующий.

Редактор vi имеет два режима: Command и Insert. Когда вы впервые открываете файл с помощью vi, вы находитесь в командном режиме. Командный режим означает, что вы можете использовать клавиши клавиатуры для навигации, удаления, копирования, вставки и выполнения ряда других задач, кроме ввода текста. Чтобы войти в режим вставки, нажмите i . В режиме вставки вы можете вводить текст, использовать клавишу Enter для перехода на новую строку, использовать клавиши со стрелками для перемещения по тексту и использовать vi в качестве текстового редактора произвольной формы. Чтобы вернуться в командный режим, нажмите клавишу Esc один раз.

Примечание. В командном режиме vi почти каждая буква на клавиатуре имеет функцию.

Дополнительные ресурсы по Linux

Чтобы сохранить файл, вы должны сначала войти в командный режим. Нажмите Esc, чтобы войти в командный режим, а затем введите :wq, чтобы записать файл и выйти из него. Другой, более быстрый вариант — использовать сочетание клавиш ZZ для записи и выхода. Для тех, кто инициировал не-vi, запись означает сохранение, а выход означает выход из vi. Если вы допустили ошибки при редактировании и хотите отменить (отменить) все несохраненные изменения, войдите в командный режим, нажав клавишу Esc и введите :q! Эта команда завершает работу без сохранения изменений и выхода из vi.

Лучший способ изучить vi — это создать новый файл и попробовать его самостоятельно. Не стесняйтесь использовать общую таблицу сочетаний клавиш ниже, чтобы помочь вам изучить обширный словарный запас vi. Этот список сочетаний клавиш ни в коем случае не является исчерпывающим, но они позволят вам редактировать файлы и изучать vi за короткое время.

Примечание. Всегда делайте копию существующего файла перед редактированием с помощью vi или любого другого редактора. Это особенно важно при редактировании системных и конфигурационных файлов.

Читайте также: