Jump to content

Сэм (текстовый редактор)

Один
Оригинальный автор(ы) Роб Пайк
Разработчик(и) Белл Лаборатории
Первоначальный выпуск начало 1980-х
Написано в С
Операционная система Юникс , План 9 , Win32
Доступно в Английский
Тип Текстовый редактор
Лицензия 2021: С
2014: только GPL-2.0
2002: ЛПЛ-1.02
Веб-сайт один .cat-v .org

Sam — многофайловый текстовый редактор, основанный на структурных регулярных выражениях . Первоначально он был разработан в начале 1980-х годов в Bell Labs Робом Пайком с помощью Кена Томпсона и других разработчиков Unix для оконного терминала Blit , работающего на Unix ; Позже он был портирован на другие системы. Сэм следует классической модульной эстетике Unix . Он внутренне прост, его мощь достигается за счет возможности компоновки небольшого командного языка и расширяемости за счет интеграции оболочки.

Дизайн и особенности

[ редактировать ]

Sam спроектирован как две синхронные программы: интерпретатор команд и оконный интерфейс с растровыми изображениями, ориентированный на мышь. Набор команд интерпретатора смоделирован по образцу редактора UNIX и может использоваться для управления редактором из стандартного текстового терминала. Однако по умолчанию Sam предоставляет собственное графического пользовательского интерфейса окно (GUI) samterm , которое дополнительно позволяет выполнять операции «укажи и щелкни» через всплывающие контекстные меню. Эта двухпроцессная структура позволяла Сэму получать доступ к файлам в сетевых хост-системах посредством удаленного выполнения процесса доступа к файлам при локальном запуске оконного интерфейса, тем самым обходя задержки при медленных соединениях.

Samterm отображает окна для редактируемых файлов и постоянное командное окно, которое принимает ввод в виде команд Sam. Большинство распространенных операций редактирования выполняются быстро и естественно с помощью интерфейса «укажи и щелкни», который также работает внутри командного окна. Последний факт позволяет редактировать (и повторно отправлять) команды, как и любой другой текст, — функция, унаследованная от терминального интерфейса DMD 5620 .

Синтаксис команды

[ редактировать ]

Синтаксис команды Сэма формально аналогичен синтаксису ed или ex , содержит (структурные) условные и циклические функции на основе регулярных выражений , а также адресацию области действия, даже разделяя некоторые синтаксисы ed для таких функций. Но в то время как команды Эда ориентированы на строки, команды Сэма ориентированы на выбор. Выделенные фрагменты представляют собой непрерывные строки текста (которые могут занимать несколько строк) и задаются либо с помощью мыши (путем перемещения ее по области текста), либо путем сопоставления с образцом . Команды Сэма рассматривают такие выборки как базовые — более или менее так, как другие инструменты Unix обрабатывают строки; таким образом, многострочные и подстрочные шаблоны обрабатываются Сэмом так же естественно, как целострочные шаблоны — ed , vi , AWK , Perl и т. д. Это реализуется с помощью модели, называемой структурными регулярными выражениями , которая может рекурсивно применять регулярные выражения. сопоставление выражений для получения других (под)выборок в рамках данной выборки. Таким образом, набор команд Сэма можно применять к подстрокам, которые идентифицируются с помощью произвольно сложного контекста.

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

Бесконечные волны

[ редактировать ]

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

Индоссанты

[ редактировать ]

Сэм — любимый текстовый редактор нескольких выдающихся программистов. Это был первый полноэкранный редактор, который понравился Кену Томпсону . [1] Сэм — текстовый редактор, используемый Бьярном Страуструпом . [2] Брайан Керниган , [3] [4] Дуглас Макилрой и Том Дафф . [ нужна ссылка ] Другие, такие как Деннис Ритчи , Роб Пайк и Расс Кокс, перешли на acme , редактор с тем же командным языком, что и sam, но с набором дополнительных функций, включая аккорды мыши и автоматическое размещение открытых файлов.

Последняя версия sam написана в рамках операционной системы Plan 9, но есть Microsoft Windows , macOS и X Window System. [5] доступные порты.

См. также

[ редактировать ]

Примечания

[ редактировать ]
  1. Интервью: Ответы Роба Пайка , опубликовано Роблимо в понедельник, 18 октября 2004 г., Slashdot
  2. ^ Жешутко, Ярослав (16 октября 2006 г.). «Стифф спрашивает, великие программисты отвечают» . Стиффлог (Интервью). Архивировано из оригинала 5 октября 2011 года . Проверено 1 ноября 2008 г.
  3. ^ Керниган, Брайан (июль 2000 г.). «Интервью с Брайаном Керниганом» (Интервью). Беседовал Михай Будиу . Проверено 1 ноября 2008 г.
  4. ^ Фридман, Лекс (19 июля 2020 г.). Настройка программирования Брайана Кернигана | Лекс Фридман . Ютуб. Событие происходит на 44 секунде. Архивировано из оригинала 12 декабря 2021 г. Проверено 3 октября 2020 г.
  5. ^ «Дэдпикси/Сэм» . Гитхаб . 17 мая 2022 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: d618ac1b6e7ddaded0f22025f9e8d86b__1721560320
URL1:https://arc.ask3.ru/arc/aa/d6/6b/d618ac1b6e7ddaded0f22025f9e8d86b.html
Заголовок, (Title) документа по адресу, URL1:
Sam (text editor) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)