Текстовый редактор

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

A текстовый редактор - это тип компьютерной программы, которая редактирует простой текст. Такие программы иногда называют программным обеспечением «блокнот » по названию Microsoft Notepad. Текстовые редакторы поставляются с операционными системами и пакетами разработки программного обеспечения и могут использоваться для изменения файлов, таких как файлы конфигурации, файлы документации и язык программирования исходный код.

Содержание
  • 1 Обычный текст и форматированный текст
  • 2 История
  • 3 Типы текстовых редакторов
  • 4 Типичные функции
  • 5 Расширенные функции
  • 6 Специализированные редакторы
  • 7 См. Также
  • 8 Примечания
  • 9 Ссылки
  • 10 Внешние ссылки
Обычный текст и форматированный текст

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

Обычный текст состоит исключительно из символьного представления. Каждый символ представлен последовательностью фиксированной длины из одного, двух или четырех байтов или последовательностью переменной длины от одного до четырех байтов в соответствии с конкретными соглашениями о кодировке символов , такими как ASCII, ISO / IEC 2022, UTF-8 или Unicode. Эти соглашения определяют многие печатаемые символы, но также непечатаемые символы, которые управляют потоком текста, например пробел, разрыв строки и разрыв страницы. Обычный текст не содержит никакой другой информации о самом тексте, даже о принятом соглашении о кодировке символов. Обычный текст хранится в текстовых файлах, хотя текстовые файлы не хранят исключительно простой текст. На заре компьютеров простой текст отображался с использованием моноширинного шрифта , так что горизонтальное выравнивание и форматирование столбцов иногда выполнялось с использованием символов пробела. По соображениям совместимости эта традиция не изменилась.

Форматированный текст, с другой стороны, может содержать метаданные, данные форматирования символов (например, шрифт, размер, вес и стиль ), данные форматирования абзацев (например, отступ, выравнивание, буква и слово распределение и расстояние между строками или другими абзацами) и данные спецификации страницы (например, размер, поля и направление чтения). Форматированный текст может быть очень сложным. Форматированный текст может быть сохранен в двоичном формате (например, DOC ), текстовые файлы придерживаются языка разметки (например, RTF или HTML ) или в их гибридной форме (например, Office Open XML ).

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

История
Коробка перфокарт с несколькими колодами программ.

До появления текстовых редакторов компьютерный текст перфорировался на карты с keypunch машины. Физические коробки с этими тонкими картонными картами затем вставляли в картридер. Файлы «изображения карты» на магнитной ленте и диске, созданные из таких колод, часто вообще не имели символов разделения строк и предполагали записи фиксированной длины из 80 символов. Альтернативой картам была перфолента. Он мог быть создан некоторыми телетайпами (такими как Teletype), которые использовали специальные символы для обозначения концов записей.

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

Когда стали доступны компьютерные терминалы с видеоэкранами, стали обычным явлением (иногда называемые просто «экранные редакторы»). Одним из первых полноэкранных редакторов был редактор, который был написан для консоли оператора компьютеров серии CDC 6000 в 1967 году. Другой ранний полноэкранный редактор был vi. Написанный в 1970-х годах, он по-прежнему является стандартным редактором в операционных системах Unix и Linux. Также в 1970-х был написан UCSD Pascal Screen Oriented Editor, который был оптимизирован как для исходного кода с отступами, так и для общего текста. Emacs, один из первых бесплатных и ПО с открытым исходным кодом является еще одним ранним полноэкранным редактором или редактором реального времени, который был перенесен на многие системы. Простота использования и скорость полноэкранного редактора (по сравнению с линейными редакторами) мотивировала многие ранние покупки видеотерминалов.

Основная структура данных в текстовом редакторе - это та, которая управляет строкой (последовательность символов) или список из записей, представляющих текущее состояние редактируемого файла. В то время как первый мог быть сохранен в одном длинном последовательном массиве символов, потребность в текстовых редакторах, которые могли бы быстрее вставлять текст, удалять текст и отменять / повторять предыдущие правки, привела к разработке более сложной последовательности структуры данных. Типичный текстовый редактор использует буфер промежутков , связанный список строк (как в PaperClip ), таблицу элементов или rope в качестве структуры данных последовательности.

Типы текстовых редакторов
Emacs, текстовый редактор, популярный среди программистов, работающий в Microsoft Windows - это текстовый редактор, поставляемый с GNOME

Некоторые текстовые редакторы небольшие и простые, в то время как другие предлагают широкие и сложные функции. Например, Unix и Unix-подобные операционные системы имеют редактор (или его вариант), но многие также включают редакторы vi и Emacs. Системы Microsoft Windows поставляются с простым Блокнотом, хотя многие люди, особенно программисты, предпочитают другие с расширенными функциями. В классической Mac OS от Apple Macintosh был собственный SimpleText, который был заменен в Mac OS X на TextEdit., который сочетает в себе функции текстового редактора с типичными для текстового редактора функциями, такими как линейки, поля и выбор нескольких шрифтов. Эти функции недоступны одновременно, но должны переключаться по команде пользователя или с помощью программы, автоматически определяющей тип файла.

Большинство текстовых процессоров могут читать и записывать файлы в текстовом формате, что позволяет им открывать файлы, сохраненные из текстовые редакторы. Однако для сохранения этих файлов из текстового редактора необходимо убедиться, что файл записан в формате plain text и что любые настройки text encoding или BOM не будут скрыть файл для предполагаемого использования. Текстовые процессоры, отличные от WYSIWYG, такие как WordStar, легче использовать в качестве текстовых редакторов, и фактически они широко использовались как таковые в 1980-х годах. Формат файла по умолчанию этих текстовых процессоров часто напоминает язык разметки, при этом основным форматом является простой текст, а визуальное форматирование достигается с помощью непечатаемых управляющих символов или управляющих последовательностей. Более поздние текстовые процессоры, такие как Microsoft Word, хранят свои файлы в двоичном формате и почти никогда не используются для редактирования текстовых файлов.

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

Некоторые редакторы являются программируемыми, то есть, например, их можно настроить для определенных целей. С помощью программируемого редактора легко автоматизировать повторяющиеся задачи или добавить новые функции или даже реализовать новое приложение в рамках редактора. Один из распространенных мотивов настройки - заставить текстовый редактор использовать команды другого текстового редактора, с которым пользователь более знаком, или дублировать недостающие функции, от которых пользователь стал зависеть. Разработчики программного обеспечения часто используют настройки редактора, адаптированные к языку программирования или среде разработки, в которой они работают. Программируемость некоторых текстовых редакторов ограничивается расширением основных функций редактирования программы, но Emacs может быть расширен далеко за пределы редактирование текстовых файлов - для просмотра веб-страниц, чтения электронной почты, онлайн-чата, управления файлами или игр, и часто рассматривается как среда выполнения Lisp с текстовым пользовательским интерфейсом. Emacs можно даже запрограммировать для эмуляции Vi, его соперника в традиционных войнах редакторов культуры Unix.

Важная группа программируемых редакторов использует REXX как скриптовый язык. Эти «ортодоксальные редакторы» содержат «командную строку», в которой можно вводить команды и макросы, и текстовые строки, в которые можно вводить строковые команды и макросы. Большинство таких редакторов являются производными от ISPF/PDF EDIT или от XEDIT, флагманского редактора IBM для VM / SP - z. / VM. Среди них THE, KEDIT, X2, Uni-edit и SEDIT.

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

Типичные функции
  • Найти и заменить - Текстовые редакторы предоставляют обширные возможности для поиска и замены текста либо в группах файлов, либо в интерактивном режиме. Продвинутые редакторы могут использовать регулярные выражения для поиска и редактирования текста или кода.
  • Вырезать, копировать и вставить - большинство текстовых редакторов предоставляют методы для дублирования и перемещения текста внутри файла или между файлами.
  • Возможность обработки текста в кодировке UTF-8.
  • Форматирование текста - текстовые редакторы часто предоставляют базовые функции визуального форматирования, такие как перенос строки, автоматический отступ, маркированный список форматирование с использованием символов ASCII, форматирование комментариев, подсветка синтаксиса и т. Д. Обычно они предназначены только для отображения и не вставляют коды форматирования в сам файл.
  • Отменить и повторить - Как и в случае с текстовыми редакторами, текстовые редакторы предоставляют способ отмены и повторения последнего редактирования или более. Часто - особенно в старых текстовых редакторах - запоминается только один уровень истории изменений, и последовательная выдача команды отмены «переключает» только последнее изменение. Современные или более сложные редакторы обычно предоставляют многоуровневую историю, так что повторное выполнение команды отмены вернет документ к более ранним изменениям. Отдельная команда повтора будет циклически перемещать правки «вперед» к самым последним изменениям. Количество запоминаемых изменений зависит от редактора и часто настраивается пользователем.
Расширенные функции
  • Определение макроса или процедуры: для определения новых команд или функций как комбинации предыдущих команд или других макросов, возможно, с переданными параметрами, или с вложением макросов.
  • Профили для сохранения параметров, установленных пользователем между сеансами редактирования.
  • Макросы профиля с именами, указанными, например, в среде, профиле, выполняются автоматически в начале сеанс редактирования или при открытии нового файла.
  • Редактирование нескольких файлов: возможность редактировать несколько файлов во время сеанса редактирования, возможно, запоминая курсор текущей строки каждого файла, чтобы вставлять повторяющийся текст в каждый файл, копировать или перемещать текст между файлами, сравнивать файлы бок о бок (возможно, с мозаичным многодокументным интерфейсом ) и т. д.
  • Многоканальные редакторы : возможность отображать несколько представлений одного и того же файла, с независимым отслеживанием курсора, синхронизацией изменений амо в окнах, но с теми же возможностями, что и для независимых файлов.
  • Свернуть / развернуть, также называемое сворачиванием : возможность временно исключать из просмотра части текста. Это может быть основано либо на диапазоне номеров строк, либо на каком-либо синтаксическом элементе, например, исключении всего между BEGIN; и совпадающим END; .
  • Редактирование на основе столбца; возможность изменять или вставлять данные в определенный столбец или перемещать данные в определенные столбцы.
  • Преобразование данных - Чтение или объединение содержимого другого текстового файла в файл, который в настоящее время редактируется. Некоторые текстовые редакторы предоставляют способ вставки вывода команды, выданной в оболочку операционной системы. Кроме того, функция смены регистра может переводиться в нижний или верхний регистр.
  • Фильтрация - Некоторые расширенные текстовые редакторы позволяют редактору отправлять все или разделы редактируемого файла другой утилите и считывать результат обратно в файл вместо «фильтруемых» строк. Это, например, полезно для сортировки серии строк по алфавиту или числам, выполнения математических вычислений, создания отступов исходного кода и т. Д.
  • Подсветка синтаксиса - контекстное выделение исходного кода код, языки разметки, файлы конфигурации и другой текст, который отображается в организованном или предсказуемом формате. Редакторы обычно позволяют пользователям настраивать цвета или стили, используемые для каждого элемента языка. Некоторые текстовые редакторы также позволяют пользователям устанавливать и использовать темы для изменения внешнего вида всего пользовательского интерфейса.
  • Расширяемость - текстовый редактор предназначен для использования программистами должен предоставлять какой-либо механизм плагина или быть с возможностью создания сценариев, чтобы программист мог настроить редактор с функциями, необходимыми для управления отдельными проектами программного обеспечения, настройки функций или привязок клавиш для конкретных языков программирования или систем управления версиями или соответствия определенным стилям кодирования.
Специализированные редакторы

Некоторые редакторы включают специальные функции и дополнительные функции, например,

  • - это текстовые редакторы с дополнительными функциями для облегчения создания исходного кода. Они часто включают программируемую пользователем подсветку синтаксиса и функции навигации по коду, а также инструменты кодирования или макросы клавиатуры , аналогичные редактору HTML (см. Ниже).
  • . Этот подкласс включает так называемые «ортодоксальные редакторы», являющиеся производными от Xedit. Редакторы, реализующие сворачивание без специфичных для программирования функций, обычно называются планировщиками (см. Ниже).
  • IDE (интегрированные среды разработки) предназначены для управления и оптимизации больших программных проектов. Обычно они используются только для программирования, так как содержат множество функций, ненужных для простого редактирования текста.
  • Авторам всемирной паутины предлагается множество программ, посвященных задаче создания веб-страниц. К ним относятся: Dreamweaver, KompoZer и. Многие предлагают возможность просмотра незавершенной работы на встроенном механизме рендеринга HTML или стандартном веб-браузере.
  • Большая часть веб-разработки выполняется в язык динамического программирования, такой как Ruby или PHP, с использованием редактора исходного кода или IDE. HTML-код, предоставляемый всеми, кроме простейших статических веб-сайтов, хранится в виде отдельных файлов шаблонов, которые собираются программным обеспечением, управляющим сайтом, и не составляют полный HTML-документ.
  • Математики, физики, а компьютерщики часто создают статьи и книги, используя TeX или LaTeX в простых текстовых файлах. Такие документы часто создаются стандартным текстовым редактором, но некоторые люди используют специализированные редакторы TeX.
  • Outliners. Также называемые древовидными редакторами, потому что они объединяют иерархическое дерево структуры с текстовым редактором. Складывание (см. Выше) можно рассматривать как специализированную форму выделения.
  • позволяет нескольким пользователям одновременно работать с одним и тем же документом из удаленных мест по сети. Изменения, внесенные отдельными пользователями, отслеживаются и автоматически объединяются в документ, чтобы исключить возможность конфликтующих изменений. Эти редакторы также обычно включают в себя компонент онлайн-чата для обсуждения между редакторами.
  • предоставляют минималистичный интерфейс с целью изолировать автора от остальных приложений и операционная система, таким образом, имея возможность сосредоточиться на письме, не отвлекаясь от элементов интерфейса, таких как панель инструментов или область уведомлений.

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

См. Также
  • Editor war
  • File viewer - не изменяет файл, быстрее для очень больших файлов и может быть более безопасным
  • - используется для редактирования двоичных файлов
  • Потоковый редактор - используется для неинтерактивного редактирования
Примечания
Ссылки
Внешние ссылки

.

Последняя правка сделана 2021-06-10 03:38:53
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте