Среди режимов текстового редактора укажите тот, в котором редактируемый текст записывается на диск

Обновлено: 05.07.2024

Одна из самых основных операций, которые вам нужно будет выполнять в системе Unix, — это редактирование текста. Если вы готовите документ, пишете программу или отправляете электронное письмо коллеге, вам понадобится утилита, позволяющая вводить и редактировать текст.

Общие возможности редактора emacs

Emacs — это визуальный редактор. Это означает, что у вас есть представление всего документа на экране, и вы можете свободно перемещаться, редактируя любую часть документа по своему желанию. Старые редакторы, называемые построчными редакторами, требовали, чтобы все изменения в файл вносились построчно. Каждая команда строкового редактора задавала номер строки и изменения, которые должны быть применены к этой строке. Построчные редакторы — это действительно ужасная штука, и вам должно повезти, если вы никогда их не видели.

Emacs использует управляющие и escape-символы, чтобы отличать команды редактора от текста, вставляемого в буфер. В этом документе обозначение «Control-X» означает удержание нажатой клавиши управления и ввод буквы x. Вам не нужно использовать заглавную букву x или любой другой управляющий символ, удерживая нажатой клавишу Shift. "ESCAPE-X" означает нажать клавишу выхода, отпустить ее, а затем ввести x.

Работа с буферами

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

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

Основные операции в emacs

Запуск emacs

Чтобы запустить emacs, просто введите команду emacs в оболочку Unix. Если вы хотите, чтобы emacs запускался с файлом, уже загруженным в буфер, введите имя файла emacs, где "имя файла" — это имя файла, который вы хотите отредактировать.

Выход из emacs

Чтобы выйти из emacs и вернуться в оболочку Unix, нажмите Control-X-Control-C. Если вы вносили изменения в буфер с момента последнего сохранения его на диск, emacs спросит вас, хотите ли вы его сохранить. Введите y, если да, или n, если нет.

Получение помощи

Emacs имеет интерактивную справочную систему, которую можно вызвать, нажав Control-H. Если вы введете вопросительный знак (?), emacs представит список разделов справки, которые вы можете выбрать.

Отображение emacs

Дисплей в emacs разделен на три основные области. Верхняя область называется текстовым окном. Текстовое окно занимает большую часть экрана, и в нем отображается редактируемый документ. В нижней части текстового окна есть единственная строка режима. Строка режима дает информацию о документе и о сеансе emacs. Нижняя строка экрана emacs называется мини-буфер. Мини-буфер содержит место для команд, которые вы даете emacs, и отображает информацию о состоянии.

Отмена команды

Работа с файлами

Чтобы прочитать файл с диска в буфер emacs, введите команду Control-X-Control-F. Emacs спросит у вас имя файла. Когда вы вводите имя файла, оно будет отображаться в мини-буфере. Когда вы ввели имя файла, нажмите клавишу возврата, и emacs загрузит файл в буфер и отобразит его в текстовом окне.

Команда для сохранения содержимого буфера в файл на диске — Control-X-Control-S. Команда сохранения перезаписывает старую версию файла. Вы также можете записать содержимое буфера в другой файл с помощью команды Control-X-Control-W. Emacs запросит у вас имя файла, который вы хотите создать.

Чтобы создать новый файл, используйте Control-X-Control-F, как если бы файл уже существовал. Когда emacs запросит у вас имя файла, введите имя, которое вы хотите, чтобы ваш новый файл имел, и emacs создаст файл и отобразит пустой буфер, который вы должны ввести.

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

Движение курсора

  • Control-F перемещает курсор вперед к следующему символу.
  • Control-B возвращает курсор к предыдущему символу.
  • Control-N перемещает курсор на следующую строку.
  • Control-P перемещает курсор на предыдущую строку.
  • Control-A перемещает курсор в начало текущей строки.
  • Control-E перемещает курсор в конец текущей строки.
  • ESCAPE-F перемещает курсор вперед к следующему слову.
  • ESCAPE-B возвращает курсор к предыдущему слову.
  • ESCAPE-< перемещает курсор в начало буфера.
  • ESCAPE-> перемещает курсор в конец буфера.

Вставка и удаление текста

Чтобы вставить текст в буфер, поместите курсор туда, где вы хотите начать вставку текста, и начните вводить текст.

Если вы хотите вставить содержимое другого файла в текущий буфер, поместите курсор в нужную точку вставки и нажмите Control-X-I. Emacs спросит у вас имя файла, который вы хотите вставить.

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

  • Control-D удаляет одну букву вперед.
  • Control-K удаляет от точки до конца строки.
  • ESCAPE-D удаляет одно слово вперед.
  • ESCAPE-delete удаляет одно слово назад.

Вырезание и вставка текстовых областей

Emacs позволяет вам выбирать область текста и выполнять над ней операции вырезания и вставки. Он использует область временного хранения, называемую «буфером уничтожения», чтобы вы могли хранить и извлекать блоки текста. В emacs есть только один буфер уничтожения, что означает, что вы можете вырезать текст из одного документа и вставить его в другой.

Чтобы определить область текста, поместите курсор на один конец области и нажмите Control-пробел. Это устанавливает отметку. Затем переместите курсор на другой конец области. Текст между меткой и курсором определяет область.

Чтобы вырезать область текста и поместить ее в буфер уничтожения, используйте команду Control-W (вспомните Wipe).

Команда вставки — Control-Y. Он извлекает блок текста из буфера уничтожения и помещает его туда, где находится курсор. Команда Control-Y извлекает только последний вырезанный блок текста.

Вы можете вставить более ранние фрагменты, нажав ESCAPE-Y. Повторно использованная команда ESCAPE-Y возвращает вас к нескольким предыдущим текстовым блокам, которые были вырезаны. Команда ESCAPE-Y не работает, если сначала вы не нажмете Control-Y.

Вы можете скопировать область текста в буфер уничтожения, не вырезая его. Определите текстовый блок, установив метку на одном конце и переместив курсор на другой конец. Затем введите ESCAPE-W.

Отмена изменений

Внесенные в файл изменения можно отменить, введя команду Control-_. (Это Control-underscore. На некоторых клавиатурах для ввода символа подчеркивания нужно удерживать одновременно клавиши Control и Shift.)

Многие текстовые редакторы могут отменить только самую последнюю команду, но emacs запоминает длинную историю команд, позволяя вам отменить многие изменения, повторно введя код Control-_.

Настройка Emacs

Редактор emacs можно настроить несколькими способами. Вы можете настроить свои собственные привязки клавиш, создать свои собственные макросы и даже создать свои собственные пользовательские функции. Кроме того, некоторые аспекты поведения emacs контролируются переменными, которые вы можете установить.

Вы можете узнать больше о функциях emacs, вызвав интерактивную справку (набрав ESC-X help), а затем нажав клавишу "f", чтобы просмотреть список функций. Нажатие пробела для завершения приведет к тому, что emacs отобразит список всех встроенных функций. Аналогичным образом можно получить список переменных, вызвав интерактивную справку, затем набрав «v», а затем пробел.

Если вы поместите настройки переменных, привязки клавиш и объявления функций в текстовый файл с именем ".emacs" в вашем домашнем каталоге, редактор emacs загрузит эти определения во время запуска. Вот файл конфигурации emacs с некоторыми основными определениями переменных и привязками клавиш для ознакомления.

Команды редактора VIM

Vim — это редактор для создания или редактирования текстового файла.

В vim есть два режима. Один из них — командный режим, а другой — режим вставки.

В командном режиме пользователь может перемещаться по файлу, удалять текст и т. д.

В режиме вставки пользователь может вставлять текст.

Смена режима с одного на другой

Из командного режима в режим вставки введите a / A / i / I / o / O (подробнее см. ниже)

Из режима вставки в командный режим введите Esc (клавиша выхода)

Некоторые полезные команды для VIM

Команды ввода текста (используются для начала ввода текста)

a Добавить текст после текущей позиции курсора

A Добавить текст в конец текущей строки

i Вставить текст перед текущей позицией курсора

Я вставляю текст в начало строки курсора

o Открытие новой строки после текущей строки и добавление туда текста

O Открыть новую строку перед текущей строкой и добавить туда текст

Следующие команды используются только в командном режиме.

Команды перемещения курсора

h Перемещает курсор на один символ влево

l Перемещает курсор на один символ вправо

k Перемещает курсор вверх на одну строку

j Перемещает курсор на одну строку вниз

nG или :n Курсор переходит на указанную (n) строку

(например, 10G идет на строку 10)

^F (CTRl F) Вперед на весь экран

^B Назад назад

^f На одну страницу вперед

^b На одну страницу назад

^U На полэкрана вверх

^D На полэкрана вниз

$ Переместить курсор в конец текущей строки

0 (ноль) Переместить курсор в начало текущей строки

w Вперед на одно слово

b На одно слово назад

:wq Записать файл на диск и выйти из редактора

<р>:к! Выйти (без предупреждения)

:q Выход (выводится предупреждение, если измененный файл не был сохранен)

ZZ Сохранить рабочую область и выйти из редактора (аналогично :wq)

запишите строки с 10 по 25 в файл с именем temp. Конечно, другая линия

можно использовать числа. (Используйте :f, чтобы узнать нужные номера строк.

Команды удаления текста

x Удалить символ

dw Удалить слово из курсора

db Удалить слово назад

d$ Удалить до конца строки

d^ (d курсор, а не CTRL d) Удалить в начало строки

Yank (имеет большинство опций удаления) -- команда копирования VI

yy скопировать текущую строку

y$ прыгает в конец текущей строки от курсора

yw копировать от курсора до конца текущего слова

5yy скопировать, например, 5 строк

Вставить (используется после удаления или копирования для восстановления строк.)

p вставить под курсором

P вставить над курсором

"2p вставить из буфера 2 (их 9)

u Отменить последнее изменение

J Соединить следующую строку до конца текущей строки

Команды управления файлами

:w Записать рабочую область в исходный файл

:w файл Записать рабочую область в именованный файл

:e файл Начать редактирование нового файла

:r файл Читать содержимое файла в рабочую область

Чтобы создать разрыв страницы, в режиме вставки нажмите клавишу CTRL

И л. ^L появится в вашем тексте и запустит принтер

Другие полезные команды

Большинство команд можно повторить n раз, введя перед ними число n

команда. Например, 10dd означает удаление 10 строк.

<р>. Повторить последнюю команду

cw Изменить текущее слово на новое

r Заменить один символ в позиции курсора

R Начать режим перечеркивания или замены — используйте клавишу ESC для выхода

:/ pattern Поиск по шаблону вперед

<р>:? шаблон Искать шаблон назад

n (используется после любой из двух приведенных выше команд поиска для

продолжить поиск следующего вхождения шаблона.

:g/pat1/s//pat2/g заменить каждое вхождение pattern1 (pat1) на

Это найдет и заменит tIO на Ada.text_IO везде в файле.

:g/a/s// /g заменить букву a пробелом

:g/a/s///g заменить a ничем

примечание: даже эту команду можно отменить

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

Шаг 1: введите имя файла vim (создайте файл с именем имя_файла )

Шаг 2: тип i (переключиться в режим вставки)

Шаг 3: введите текст (введите программу на языке Ада)

Шаг 4: нажмите клавишу Esc (переключитесь обратно в командный режим)

Шаг 5: введите :wq (запишите файл и выйдите из vim)

Редактирование существующего файла

Шаг 1: введите имя файла vim (отредактируйте существующий файл с именем файла)

Шаг 2 перемещайтесь по файлу с помощью клавиш h / j / k / l или любой соответствующей команды

Редакторы или текстовые редакторы — это программы, которые позволяют пользователю создавать и редактировать текстовые файлы. В области программирования термин «редактор» обычно относится к редакторам исходного кода, которые включают множество специальных функций для написания и редактирования кода. Блокнот, Wordpad — некоторые из распространенных редакторов, используемых в ОС Windows, а vi, emacs, Jed, pico — редакторы в ОС UNIX. Функции, обычно связанные с текстовыми редакторами: перемещение курсора, удаление, замена, вставка, поиск, поиск и замена, сохранение и т. д.

  1. Редактор строк: здесь вы можете редактировать только одну строку за раз или целое число строк. У вас не может быть свободной последовательности символов. Он позаботится только об одной строке.
    Пример: телетайп, эдлин, теко
  2. Потоковые редакторы. В редакторах этого типа файл обрабатывается как непрерывный поток или последовательность символов, а не номеров строк, что означает, что здесь вы можете вводить абзацы.
    Пример: редактор Sed в UNIX
  3. Экранные редакторы: в этом типе редакторов пользователь может видеть курсор на экране и может легко выполнять операции копирования, вырезания и вставки. Использовать указатель мыши очень просто.
    Пример: vi, emacs, Блокнот
  4. Текстовый процессор. Преодолев ограничения экранных редакторов, он позволяет использовать определенный формат для вставки изображений, файлов, видео, использования шрифта, размера и стиля. Основное внимание уделяется естественному языку.
  5. Редактор структуры. Редактор структуры ориентирован на языки программирования.Он предоставляет функции для написания и редактирования исходного кода.
    Пример: IDE Netbeans, gEdit.

Некоторые другие редакторы:

  • Полноэкранные редакторы. На компьютерах полноэкранный редактор или редактор, не отвлекающий внимание, – это текстовый редактор, который занимает весь экран с целью отстранения пользователя от ОС и других приложений. Это помогает пользователю сосредоточиться только на письме и не отвлекаться на другие приложения и загроможденный интерфейс. Часто полноэкранные редакторы имеют темный фон и текстовое поле со светлым текстом. Они включают в себя настраиваемые интерфейсы и такие функции, как подсчет слов.
    Пример: Acme, Coderoom, FocusWriter
  • Многооконный редактор. Многооконный редактор позволяет работать с несколькими файлами одновременно, а также вырезать и вставлять текст из одного файла в другой путем извлечения и вставки. Две фундаментальные концепции, лежащие в основе многооконных редакторов, — это буфер и окна.

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

Процесс редактирования

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

Вышеуказанные шаги включают фильтрацию, форматирование и перемещение.

  • Форматирование: отображение на экране дисплея.
  • Фильтрация: выявление основного/важного подмножества.
  • Путешествие: поиск интересующей области.

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

  • Устройства ввода. Устройства ввода обычно делятся на устройства ввода текста, кнопочные устройства и устройства локатора. Текстовое устройство — клавиатура. Кнопочные устройства представляют собой специальные функциональные клавиши. Устройства локатора включают мышь. Существуют также специальные голосовые устройства, которые записывают в текст все, что вы говорите.
  • Устройства вывода:мониторы TFT, принтеры, телетайпы, технология электронно-лучевой трубки, усовершенствованные ЭЛТ-терминалы.
  • Язык взаимодействия:Язык взаимодействия может быть ориентирован на набор текста или текстовую команду, а также может быть пользовательским интерфейсом, ориентированным на меню. Язык взаимодействия, ориентированный на набор текста или текстовой команды, очень стар, используется в самых старых редакторах, в виде команд, использования функций и клавиш управления и т. д. Интерфейс, ориентированный на меню, имеет меню с набором множественного выбора текстовых строк. Область отображения ограничена, и пользователь может включать и выключать меню.

Структура редактора


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

Компонент редактирования — это модуль, отвечающий за задачи редактирования. Текущая область редактирования определяется текущим указателем редактирования, связанным с компонентом редактирования. При выполнении команды редактирования компонент редактирования вызывает фильтр редактирования, генерирует новый буфер редактирования. Буфер редактирования содержит документ, который нужно отредактировать в текущем местоположении указателя редактора.
При просмотре документа начало просматриваемой области определяется текущим указателем просмотра. Компонент просмотра — это набор модулей, используемых для просмотра следующего представления. Текущий просмотр можно настроить или сбросить в зависимости от последней операции.
Когда отображение необходимо обновить, компонент просмотра вызывает фильтр просмотра, создает новый буфер и содержит документ для просмотра с использованием текущего буфера просмотра. Затем буфер просмотра передается компоненту дисплея, который создает отображение путем отображения буфера. Буферы редактирования и просмотра могут быть идентичными или полностью не пересекаться. Буферы редактирования и просмотра также могут частично перекрываться или содержаться один внутри другого. Компонент редактора взаимодействует с документом от пользователя на двух уровнях: оперативной памяти и файловой системы диска.

Скромный и устаревший редактор 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 или любого другого редактора. Это особенно важно при редактировании системных и конфигурационных файлов.

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