Как завершить команду “i” в ex

Вопрос или проблема

Экспериментируя с текстовым редактором ex, я выполнил команду :$i (которая вставляет текст перед последней строкой) и обнаружил, что не могу продолжить.

Я предположил, что смогу вернуться в нормальный режим, нажав esc, как в vi(m), но это не имело никакого эффекта.

Теперь я не могу найти способ сохранить, выйти или выполнить какое-либо действие, кроме как набирать больше символов в файл.

Как я могу решить эту ситуацию?

Для возврата в командный/нормальный режим, нажмите . (точку), а затем клавишу Enter. Точка должна быть единственным символом на линии.

Из спецификации POSIX для ex:

По умолчанию ex запускается в командном режиме, который обозначается подсказкой :; см. команду prompt. Режим ввода текста можно включить с помощью команд добавления, вставки или изменения; его можно завершить (и вернуться в командный режим), набрав <точку> (.) единственным символом в начале строки.

Это поведение унаследовано от более старого редактора ed.

Чтобы выйти из режима вставки в ex, вы можете нажать Ctrl + C, чтобы прервать текущую команду и вернуться к командной строке ex.

Чтобы выйти командой ., а затем нажать enter, вы всегда должны находиться на новой строке, и первым символом должна быть . (точка). Не должно быть никаких символов до или после нее.

Оттуда вы можете перейти к другим действиям, таким как сохранение, выполнение дополнительных правок или выход из программы с :q!

Ответ или решение

Работа с текстовым редактором ex может показаться запутанной, особенно для тех, кто привык к более современным средам редактирования, таким как vi или vim. Однако понимание его особенностей и способов взаимодействия с ним может значительно облегчить задачи по редактированию текста, особенно в сценариях, где требуется минимальное использование системных ресурсов. Рассмотрим подробнее, как выйти из командной строки "i" в ex.

Теория

Редактор ex — это строковая версия текстового редактора vi, который, в свою очередь, является улучшенной версией ed. В то время как vi и vim представляют собой полноэкранные редакторы, ex работает в текстовом режиме командной строки. По умолчанию ex находится в командном режиме, что обозначается в командной строке символом двоеточия (:).

Для редактирования текста в ex используются специальные команды ввода, такие как append (a), insert (i) и change (c). При этом редактирование происходит в текстовом режиме, выйти из которого можно, следуя определённым правилам. Переход в командный режим обратно осуществляется вводом точки (.) в начале новой строки и нажатием клавиши Enter.

Пример

Предположим, что вы используете команду :$i, чтобы начать ввод текста в конец файла. Вы ввели необходимый текст, но ситуация усложняется, если вы не знаете, как завершить режим вставки и сохранить ваши изменения — все команды, обычно работающие в vi(m), например, нажатие клавиши Esc, в ex не работают.

Применение

Чтобы выйти из режима вставки в ex и вернуться в командный режим, выполните следующие шаги:

  1. Завершите ввод текста. Убедитесь, что курсор находится в новой строке.
  2. Введите точку (.). Это должно быть единственным символом в строке.
  3. Нажмите Enter. Это действие завершит режим вставки и вернёт вас в командный режим ex.

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

Если вы используете Живую сессию, идущую не по плану, например, застряли в режиме вставки, можно также использовать комбинацию клавиш Ctrl+C, которая прерывает текущую команду и возвращает вас в командный режим ex. Однако точка (.) является более предпочтительным методом для завершения ввода при обычной работе.

Заключение

Работа с ex требует понимания некоторых его базовых принципов и отличий от полноэкранных редакторов. Умение правильно завершать режимы ввода в ex не только предотвращает путаницу, но и делает процесс редактирования более эффективным и гибким. Освоив методики работы в ex, вы сможете облегчить выполнение редактирования текста даже в условиях необходимости минимального использования ресурсов или в системах, где полноэкранные редакторы недоступны.

Оцените материал
Добавить комментарий

Капча загружается...