Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

GNU Emacs - это бесплатный текстовый редактор . Он был создан основателем проекта GNU Ричардом Столлманом . Как и другие разновидности Emacs , GNU Emacs расширяется с использованием полного языка программирования Тьюринга . GNU Emacs был назван «самым мощным текстовым редактором на сегодняшний день». [4] При надлежащей поддержке базовой системы GNU Emacs может отображать файлы с несколькими наборами символов и может одновременно отображать большинство человеческих языков, по крайней мере, с 1999 года. [5] На протяжении всей своей истории GNU Emacs был центральный компонент проекта GNU и флагмандвижение за свободное программное обеспечение . [6] [7] GNU Emacs иногда сокращается до GNUMACS , особенно для того , чтобы отличать его от других вариантов EMACS. [8] Строка тега для GNU Emacs - это «расширяемый самодокументированный текстовый редактор». [9]

История [ править ]

Ричард Столмен , основатель проекта GNU и автор GNU Emacs

В 1976 году Столлман написал первый Emacs («редактор MACroS»), а в 1984 году начал работу над GNU Emacs, чтобы создать бесплатную альтернативу проприетарному Gosling Emacs . GNU Emacs изначально был основан на Gosling Emacs, но замена Столлманом его интерпретатора Mocklisp на настоящий интерпретатор Lisp потребовала переписать почти весь его код. Это была первая программа, выпущенная зарождающимся проектом GNU. GNU Emacs написан на C и предоставляет Emacs Lisp, также реализованный на C в качестве языка расширения. Версия 13, первый публичный выпуск, была выпущена 20 марта 1985 года. Первой широко распространенной версией GNU Emacs была версия 15.34, выпущенная позже в 1985 году. Ранние версии GNU Emacs были пронумерованы как «1.xx» с начальным цифра, обозначающая версию ядра C. «1» была удалена после версии 1.12, так как считалось, что старший номер никогда не изменится, и, таким образом, основная версия перешла с «1» на «13». Был добавлен новый третий номер версии для обозначения изменений, внесенных на сайтах пользователей. [10] В текущей схеме нумерации число с двумя компонентами обозначает версию выпуска, а версии для разработки - три компонента. [11]

Позднее GNU Emacs был перенесен на операционную систему Unix . Он предлагал больше возможностей, чем Gosling Emacs, в частности, полнофункциональный Lisp в качестве языка расширения, и вскоре заменил Gosling Emacs в качестве де-факто редактора Emacs для Unix. Маркус Хесс использовал брешь в безопасности в подсистеме электронной почты GNU Emacs во время взлома 1986 года, когда он получил доступ суперпользователя к компьютерам Unix. [12]

Хотя пользователи обычно отправляли исправления и код Elisp в группу новостей net.emacs , участие в разработке GNU Emacs было относительно ограничено до 1999 года и использовалось в качестве примера стиля разработки «Собор» в «Соборе и базаре» . С тех пор в проекте был принят список рассылки для общественности и анонимный доступ к CVS . До 2008 года разработка велась в едином канале CVS, а сегодня используется Git [13] DVCS .

Ричард Столлман оставался основным сопровождающим GNU Emacs, но время от времени он отступал от этой роли. Стефан Монье и Чонг Идонг осуществляют надзор за техническим обслуживанием с 2008 года. [14] 21 сентября 2015 года Монье объявил, что он уходит с поста сопровождающего в связи с замораживанием функций Emacs 25. [15] Давний участник проекта Джон Вигли был объявлен новым сотрудником. сопровождающий 5 ноября 2015 г. [16]

Лицензирование [ править ]

Условия GNU General Public License (GPL) гласят, что исходный код Emacs, включая компоненты C и Emacs Lisp, находится в свободном доступе для изучения, модификации и распространения.

Более старые версии документации GNU Emacs появлялись под специальной лицензией, которая требовала включения определенного текста в любую измененную копию. Например, в руководстве пользователя GNU Emacs содержатся инструкции по получению GNU Emacs и эссе Ричарда Столлмана « Манифест GNU» . Руководства XEmacs, унаследованные от более старых руководств GNU Emacs, когда произошло форк, имеют ту же лицензию. В более новых версиях документации используется лицензия свободной документации GNU с «неизменяемыми разделами», которые требуют включения тех же документов и которые в руководствах объявляются руководствами GNU .

Для GNU Emacs, как и многие другие пакеты GNU, остается политика принимать значительный вклад кода , только если авторское право держатель выполняет соответствующее заявление об отказе или назначение их авторского интереса к Free Software Foundation , . Исправления ошибок и незначительные изменения кода менее 10 строк исключаются. Эта политика существует для того, чтобы FSF мог защищать программное обеспечение в суде в случае нарушения его лицензии с авторским левом.

В 2011 году было замечено, что GNU Emacs случайно выпускал некоторые двоичные файлы без соответствующего исходного кода в течение двух лет, что противоречило предполагаемому духу GPL. [17] [18] [19] Ричард Столлман описал этот инцидент как «очень плохой ошибкой» , [20] , которая была быстро исправлена. FSF не подавала в суд на других распространителей, которые неосознанно нарушали GPL, распространяя эти двоичные файлы.

Использование GNU Emacs [ править ]

Редактирование нескольких буферов Dired в GNU Emacs
Редактирование исходного кода C в GNU Emacs
Редактирование и компиляция кода C ++ из GNU Emacs

Команды [ править ]

В обычном режиме редактирования GNU Emacs ведет себя как другие текстовые редакторы и позволяет пользователю вставлять символы с помощью соответствующих клавиш и перемещать точку редактирования с помощью клавиш со стрелками. Последовательности escape-клавиш или нажатие клавиши управления и / или мета-клавиши , клавиши alt или супер-клавиш в сочетании с обычной клавишей производит измененные нажатия клавиш, которые вызывают функции из среды Emacs Lisp. Команды, такие как save-bufferи, save-buffers-kill-emacsобъединяют несколько измененных нажатий клавиш.

Некоторые команды GNU Emacs работают путем вызова внешней программы, такой как ispell для проверки орфографии или GNU Compiler Collection (gcc) для компиляции программы, анализа вывода программы и отображения результата в GNU Emacs. Emacs также поддерживает «подчиненные процессы» - долгоживущие процессы, которые взаимодействуют с буфером Emacs. Это используется для реализации режима оболочки , запуска оболочки Unix в качестве подчиненного процесса, а также режимов цикла чтения-оценки-печати (REPL) для различных языков программирования. Поддержка внешних процессов в Emacs делает его привлекательной средой для интерактивного программирования в духе Interlisp или Smalltalk . [21]

Пользователи, которые предпочитают ключи в стиле IBM Common User Access, могут использовать cua-mode , пакет, который изначально был надстройкой сторонних производителей, но был включен в GNU Emacs с версии 22.

Минибуфер [ править ]

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

Управление файлами и отображение [ править ]

Emacs хранит текст в структурах данных, известных как буферы . Буферы могут отображаться или не отображаться на экране, и все функции буфера доступны как для программы Emacs Lisp, так и для пользовательского интерфейса. [22] Пользователь может создавать новые буферы и удалять ненужные, при этом одновременно может существовать множество буферов. Не существует верхнего предела количества буферов, допускаемых Emacs, кроме ограничений аппаратной памяти. Опытные пользователи могут накопить сотни открытых буферов различных типов, относящихся к их текущей работе. [23] Emacs может быть настроен на сохранение списка открытых буферов при выходе и повторное открытие этого списка при перезапуске. [24]

Некоторые буферы содержат текст, загруженный из текстовых файлов , который пользователь может редактировать и сохранять обратно в постоянное хранилище. Эти буферы называются «посещающими» файлами. Буферы также служат для отображения других данных, таких как вывод команд Emacs, списки dired каталогов, строки документации, отображаемые библиотекой «справки», и сообщения уведомлений, которые в других редакторах будут отображаться в диалоговом окне . Некоторые из этих уведомлений ненадолго отображаются в минибуфере, а GNU Emacs предоставляет буфер * сообщений *, в котором хранится история самых последних уведомлений этого типа. Когда минибуфер используется для вывода из Emacs, он называется «эхо-областью». [25]Более длинные уведомления отображаются в собственных буферах. Максимальная длина сообщений, которые будут отображаться в минибуфере, конечно, настраивается.

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

Большинство ключевых последовательностей Emacs остаются работоспособными в любом буфере. Например, стандартная isearchфункция Ctrl-s может использоваться для поиска имен файлов в заданных буферах, а список файлов может быть сохранен в текстовый файл, как и любой другой буфер. заданные буферы можно переключить в режим с возможностью записи, в котором имена файлов и атрибуты можно редактировать в текстовом виде; при сохранении буфера изменения записываются в файловую систему. Это позволяет переименовывать несколько файлов с помощью функций поиска и замены Emacs. Когда это оборудовано, Emacs отображает файлы изображений в буферах. Emacs безопасен для двоичного кода и является 8-битным чистым. [26]

Emacs может разделить область редактирования на отдельные неперекрывающиеся секции, называемые «окнами», функция, которая была доступна с 1975 года, предшествовавшей графическому пользовательскому интерфейсу в общем использовании. В терминологии Emacs «окна» похожи на то, что другие системы называют « фреймами » или « панелями » - прямоугольная часть экрана программы, которую можно обновлять и с которой можно взаимодействовать независимо. В каждом окне Emacs есть строка состояния, называемая «строкой режима», которая по умолчанию отображается у нижнего края окна. Окна Emacs доступны как в текстовом, так и в графическом режимах и позволяют отображать более одного буфера или несколько частей буфера одновременно. Общие приложения должны отображать diredбуфер вместе с содержимым файлов в текущем каталоге (существуют специальные режимы, позволяющие заставить файловый буфер следовать за файлом, выделенным dired), для отображения исходного кода программы в одном окне, в то время как другое отображает буфер оболочки с результатами компиляция программы, запуск отладчика вместе с буфером оболочки, запускающего программу, работа с кодом при отображении страницы руководства или другой документации (возможно, загруженной через World Wide Web с использованием одного из встроенных веб-браузеров Emacs) или просто для одновременного отображения нескольких файлов для редактирования, таких как заголовок вместе с файлом реализации для языков на основе C. Кроме того, есть режим слежения, второстепенный режим, который связывает окна для отображения неперекрывающихся частей буфера. Используя режим отслеживания , один файл может отображаться в нескольких окнах, расположенных рядом, которые обновляются соответствующим образом при прокрутке. Вдобавок Emacs поддерживает «сужение» буфера для отображения только части файла, при этом функции навигации по верхнему / нижнему краю и вычисления размера буфера отражают только выбранный диапазон.

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

Основные режимы [ править ]

GNU Emacs может отображать или редактировать различные типы текста и адаптировать его поведение, вводя дополнительные режимы, называемые «основными режимами». Существуют основные режимы для множества различных целей, включая редактирование обычных текстовых файлов, исходного кода многих языков разметки и программирования , а также отображение веб-страниц , списков каталогов и другой системной информации. Каждый основной режим включает в себя программу Emacs Lisp, которая расширяет редактор, чтобы работать с ним более удобно для указанного типа текста. Основные режимы обычно предоставляют некоторые или все из следующих общих функций:

  • Подсветка синтаксиса («блокировка шрифта»): комбинации шрифтов и цветов, называемые «начертаниями» [28], которые различают элементы документа, такие как ключевые слова и комментарии .
  • Автоматический отступ для сохранения единообразного форматирования в файле.
  • Автоматическая вставка элементов, требуемых структурой документа, таких как пробелы, новые строки и круглые скобки.
  • Специальные команды редактирования, такие как команды для перехода к началу или концу функции при редактировании файла программирования или команды для проверки документов или вставки закрывающих тегов при работе с такими языками разметки, как XML .

Второстепенные режимы [ править ]

Использование «второстепенных режимов» дает возможность дальнейшей настройки. Буфер редактирования GNU Emacs может использовать только один основной режим одновременно, но несколько второстепенных режимов могут работать одновременно. Они могут работать непосредственно с документами, так как основной режим языка программирования C определяет отдельный второстепенный режим для каждого из его популярных стилей отступа , или они могут изменять среду редактирования. Примеры последнего включают режим, который добавляет возможность отмены изменений в конфигурации окна, и режим, который выполняет проверку синтаксиса на лету. Существует также второстепенный режим, который позволяет использовать несколько основных режимов в одном файле для удобства при редактировании документа, в который встроено несколько языков программирования.

"Пакетный режим" [ править ]

GNU Emacs поддерживает возможность использовать его в качестве интерпретатора языка Emacs Lisp без отображения пользовательского интерфейса текстового редактора. В пакетном режиме конфигурация пользователя не загружается, и символы прерывания терминала Cc и Cz будут иметь свой обычный эффект выхода из программы или приостановки выполнения вместо вызова привязки клавиш Emacs. GNU Emacs имеет параметры командной строки, чтобы указать либо файл для загрузки и выполнения, либо функция Emacs Lisp может быть передана из командной строки. Emacs запустится, выполнит переданный файл или функцию, распечатает результаты и выйдет. [29] притон линия #!/usr/bin/emacs --scriptпозволяет создавать автономные скрипты в Emacs Lisp. [30]Пакетный режим не является режим Emacs сам по себе , но описывает режим альтернативного выполнения для программы Emacs.

Руководства [ править ]

Руководство по GNU Emacs (обложка Этьена Сувасы; дизайн обложки Мэтт Ли)

Помимо встроенной документации, GNU Emacs имеет необычно длинное и подробное руководство . [ необходима цитата ] Электронная копия Руководства по GNU Emacs , написанная Ричардом Столлманом, поставляется вместе с GNU Emacs и может быть просмотрена с помощью встроенного информационного браузера. Два дополнительных руководств, Emacs Lisp Reference Manual по Бил Льюис, Ричард Столлман, и Дэн Лалиберте и Введение в программирование в Emacs Lisp по Роберту Chassell , включены. Все три руководства также публикуются в форме книги Free Software Foundation . Руководство по XEmacs похоже на руководство по GNU Emacs., из которого он разветвляется одновременно с разветвлением программного обеспечения XEmacs из GNU Emacs.

Интернационализация [ править ]

GNU Emacs поддерживает множество алфавитов, скриптов, систем письма и культурных соглашений и обеспечивает проверку орфографии для многих языков путем вызова внешних программ, таких как ispell . В версии 24 добавлена ​​поддержка двунаправленного текста и направления письма слева направо и справа налево для таких языков, как арабский, персидский и иврит.

Поддерживаются многие системы кодировки символов , включая UTF-8 . GNU Emacs использует UTF-8 для своей кодировки, начиная с GNU 23, в то время как предыдущие версии использовали свою собственную кодировку внутри и выполняли преобразование при загрузке и сохранении. Внутренняя кодировка, используемая XEmacs, аналогична кодировке GNU Emacs, но отличается в деталях.

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

Подсистема под названием Emacspeak позволяет слабовидящим и слепым пользователям управлять редактором с помощью звуковой обратной связи.

Расширяемость [ править ]

GNU Emacs с AucTeX , набор инструментов для редактирования TeX и LaTeX документов

Поведение GNU Emacs может быть изменено и расширено почти без ограничений за счет включения программ Emacs Lisp, которые определяют новые команды, новые режимы буфера, новые раскладки клавиатуры, добавляют параметры командной строки [31] и так далее. Многие расширения, обеспечивающие функциональность, ориентированную на пользователя, определяют основной режим (либо для нового типа файла, либо для создания пользовательского интерфейса без редактирования текста); другие определяют только команды или второстепенные режимы или предоставляют функции, улучшающие другое расширение.

Многие расширения включены в установку GNU Emacs; другие загружались как отдельные файлы ( группа новостей Usenet gnu.emacs.sources была традиционным средством распространения), но начиная с версии 24 были разработаны управляемые пакеты и сайты загрузки пакетов со встроенным менеджером пакетов (сам расширение), чтобы загрузить, установить и поддерживать их в актуальном состоянии. Список доступных пакетов отображается в буфере Emacs, установленном в основной режим пакетного режима .

Известные примеры включают:

  • AucTeX , инструменты для редактирования и обработки TeX и LaTeX документов
  • dired , файловый менеджер
  • Dissociated Press , текстовый генератор в стиле Racter
  • Доктор, внедрение ELIZA
  • Даннет , текстовое приключение
  • Emacs Web Wowser (eww), веб-браузер .
  • Режимы Emacs Speaks Statistics (ESS) для редактирования статистических языков, таких как R и SAS.
  • ERC , клиент IRC [32]
  • Eshell , оболочка командной строки, написанная на Emacs Lisp. Это обеспечивает более тесную интеграцию со средой Emacs, чем стандартные оболочки, такие как bash или PowerShell , которые также доступны из Emacs. Например, в Eshell функции Elisp доступны как команды оболочки, а вывод команд Unix может быть перенаправлен в буфер Emacs.
  • Exwm , оконный менеджер X, позволяющий запускать приложения X11 в окне Emacs. [33]
  • Gnus , полнофункциональный новостной клиент (программа чтения новостей) и почтовый клиент, а также ранние доказательства закона Завинского
  • MULtilingual Enhancement to Emacs ( MULE ) позволяет редактировать текст на нескольких языках аналогично Unicode.
  • Org-режим для ведения заметок, поддержки различных типов списков, планирования и оценки проектов, а также создания документов во многих форматах (таких как форматы PDF , HTML или OpenDocument ). Существуют генераторы статических сайтов, использующие режим org, а также расширение Babel, позволяющее использовать его для грамотного программирования . [34]
  • Планировщик , менеджер персональной информации
  • rcirc , клиент IRC [32]
  • Улучшенный режим взаимодействия с Lisp для Emacs ( SLIME ) расширяет GNU Emacs в среду разработки для Common Lisp . С помощью SLIME (написанного на Emacs Lisp) редактор GNU Emacs взаимодействует с системой Common Lisp (используя бэкэнд SWANK) по специальному протоколу связи и предоставляет такие инструменты, как цикл чтения-оценки-печати , инспектор данных и отладчик .
  • Texinfo (информация), онлайн-справка-браузер
  • Зона, режим взлома дисплея, включающий различные текстовые эффекты.

Производительность [ править ]

GNU Emacs часто работал заметно медленнее, чем конкурирующие текстовые редакторы в системах, в которых он был впервые реализован, потому что загрузка и интерпретация его кода на основе Lisp влечет за собой накладные расходы на производительность. Современные компьютеры достаточно мощны, чтобы запускать GNU Emacs без замедления, но версии до 19.29 (выпущенные в 1995 году) не могли редактировать файлы размером более 8 МБ. Предел размера файла был увеличен в последующих версиях, и 32-битные версии после GNU Emacs 23.2 могут редактировать файлы размером до 512 МБ. Emacs, скомпилированный на 64-битной машине, может обрабатывать гораздо большие буферы. [35]

Платформы [ править ]

GNU Emacs - одна из наиболее портируемых нетривиальных компьютерных программ, работающая в широком спектре операционных систем , включая DOS , Windows [36] [37] [38] и OpenVMS . Поддержка некоторых «устаревших платформ была удалена в Emacs 23.1», таких как VMS и большинство коммерческих вариантов Unix . [3] Он доступен для большинства Unix-подобных операционных систем, таких как Linux , различные BSD , Solaris , AIX , HP-UX и macOS , [39] [40]и часто включается в их системные установочные пакеты. Родные порты GNU Emacs существуют для Android [41] и Nokia Maemo . [42]

GNU Emacs работает как на текстовых терминалах, так и в среде графического пользовательского интерфейса (GUI). В Unix-подобных операционных системах GNU Emacs может использовать систему X Window для создания своего графического интерфейса либо непосредственно с использованием виджетов Athena, либо с помощью «набора инструментов виджетов», такого как Motif , LessTif или GTK + . GNU Emacs также может использовать графические системы, родные для macOS и Windows, для предоставления строк меню , панелей инструментов , полос прокрутки и контекстных меню, более соответствующих внешнему виду каждой платформы .

Вилки [ править ]

XEmacs [ править ]

XEmacs 21.5 в GNU / Linux

Lucid Emacs, основанный на ранней версии GNU Emacs 19, был разработан в 1991 году Джейми Завински и другими сотрудниками Lucid Inc. Один из самых известных форков в разработке свободного программного обеспечения произошел, когда кодовые базы двух версий Emacs разошлись и отдельные команды разработчиков прекратили попытки снова объединить их в единую программу. [43] После того, как Lucid объявил о банкротстве, Lucid Emacs был переименован в XEmacs и остается второй по популярности разновидностью Emacs после GNU Emacs. [ необходима цитата ]Разработка XEmacs замедлилась: в январе 2009 года была выпущена последняя стабильная версия 21.4.22, в то время как GNU Emacs реализовал многие функции, ранее предназначенные только для XEmacs. Это привело к тому, что некоторые пользователи объявили о смерти XEmacs. [44]

Другие форки GNU Emacs [ править ]

Другие вилки, менее известные, чем XEmacs, включают:

  • Meadow  - японская версия для Microsoft Windows [45]
  • SXEmacs  - форк XEmacs Стива Янгса [46]
  • Aquamacs  - версия, ориентированная на интеграцию с пользовательским интерфейсом Apple Macintosh.
  • Remacs - порт GNU Emacs на язык программирования Rust . [47]

История выпусков [ править ]

Изменения в каждом выпуске Emacs перечислены в файле NEWS, распространяемом вместе с Emacs. [48] Изменения , вызванными понижая к предыдущей версии перечислены в файл «Антиновость», часто с некоторыми комментариями по элегантным , почему это может быть желательным. [49]

Ссылки [ править ]

  1. ^ "Выпущен Emacs 27.1" ; строка имени автора: Николас Петтон; дата публикации: 11 августа 2020 г .; Дата обращения: 11 августа 2020.
  2. ^ "GNU Emacs" , Сводка анализа , Open Hub
  3. ^ a b "Список машин Emacs" .
  4. ^ « « Изучение GNU Emacs, третье издание »: руководство по самому расширяемому настраиваемому редактору в мире» .
  5. ^ "Alphabet Soup: интернационализация Linux, часть 1 Linux Journal, март 1999" . Благодаря наличию шрифтов и, при необходимости, интернационализированных эмуляторов терминала, Emacs может одновременно обрабатывать большинство языков мира.
  6. ^ Фуско, Джон (2007-03-06). Набор инструментов программиста Linux . ISBN 9780132703048.
  7. ^ Кэмерон, Дебра; Эллиотт, Джеймс; Лой, Марк; Раймонд, Эрик; Розенблатт, Билл (2005). Изучение GNU Emacs . ISBN 9780596006488.
  8. ^ "GNUMACS" .
  9. ^ "Debian - подробная информация о пакете Emacs в wheezy" .
  10. ^ "NEWS.1-17" . Появилась новая схема нумерации версий. То, что раньше было первым номером версии, а именно 1, было отброшено, поскольку мне не кажется, что мне нужны три уровня номера версии. Однако был добавлен новый третий номер версии, чтобы отразить изменения, внесенные на сайтах пользователей. Это число всегда будет равно нулю в Emacs, когда я его распространяю; он будет увеличиваться каждый раз, когда Emacs создается на другом сайте.
  11. ^ "GNU Emacs FAQ" . Номер версии с двумя компонентами (например, «22 .1») указывает на выпущенную версию; три компонента указывают на версию для разработки (например, «23 .0.50» в конечном итоге станет «23 .1»).
  12. ^ Столл, Клиффорд (1988). «Преследование коварного хакера». Коммуникации ACM . 31 (5): 484–497. DOI : 10.1145 / 42411.42412 .
  13. ^ "Re: GNU EMACS" . GNU . Проверено 16 ноября 2014 .]
  14. ^ "Re: Ищу нового сопровождающего Emacs или команду" . Список рассылки gnu.org . Проверено 23 февраля 2008 .; см. также «Столмен о передаче GNU Emacs, его будущем и важности номенклатуры»
  15. ^ "Замораживание функции" . lists.gnu.org .
  16. ^ "Emacs получает нового сопровождающего, когда Ричард Столлман подписывает контракт" .
  17. ^ Brockmeier, Джо (29 июля 2011). «Что скажешь? GNU Emacs нарушает GPL» . Сетевой мир . Проверено 19 января 2016 .
  18. Лицензия отозвана: Применение Раздела 4 GPL и уроков Best Buy к Google Android. Архивировано 27 января 2016 г. на Wayback Machine Эдвардом Дж. Нотоном (8 августа 2011 г.)
  19. ^ [1] на slashdot.org (2011)
  20. ^ Re: Скомпилированные файлы без исходников ???? на lists.gnu.org Ричарда Столлмана (28 июля 2011 г.)
  21. ^ Хелм, Хейкки; Хейнянен, Юха (1988). «GNU Emacs как динамически расширяемая среда программирования». Программное обеспечение: практика и опыт . 18 (10): 999–1009. DOI : 10.1002 / spe.4380181006 .
  22. ^ Спинеллис, Диомидис; Гусиос, Георгиос (15 января 2009 г.). Красивая архитектура: ведущие мыслители раскрывают скрытую красоту в дизайне программного обеспечения . ISBN 9780596554392.
  23. ^ Heiberger, Ричард М .; Голландия, Берт (23 декабря 2015 г.). Статистический анализ и отображение данных: Промежуточный курс с примерами в R . ISBN 9781493921225.
  24. ^ "Сохранение сеансов Emacs" .
  25. ^ «Зона эха» .
  26. ^ "Учебное введение в GNU Emacs" .
  27. ^ "Фреймы - Руководство по GNU Emacs" . Однако на текстовых терминалах по-прежнему можно создавать несколько «фреймов»; такие кадры отображаются по одному, заполняя весь экран терминала
  28. ^ Кэмерон, Дебра; Розенблатт, Билл; Раймонд, Эрик С. (1996). Изучение GNU Emacs . В серии в двух словах (2-е изд.). O'Reilly Media, Inc. стр. 533. ISBN. 978-1-56592-152-8. Проверено 2 ноября 2010 . Лицо - это сочетание шрифта и цвета.
  29. ^ «Начальные параметры» . В пакетном режиме Emacs не отображает редактируемый текст, и стандартные символы прерывания терминала, такие как Cz и Cc, имеют свой обычный эффект. Функции Emacs, которые обычно печатают сообщение в эхо-области, вместо этого будут печатать либо в стандартный поток вывода (stdout), либо в стандартный поток ошибок (stderr). (Если быть точным, такие функции, как prin1, princ и print, выводят на стандартный вывод, а сообщения и ошибки выводят на стандартный вывод.) Функции, которые обычно считывают ввод с клавиатуры из минибуфера, вместо этого принимают ввод из стандартного потока ввода терминала (stdin).
  30. ^ "Пакетный режим" .
  31. ^ «Аргументы командной строки» .
  32. ^ a b Столмен, Ричард (2007-06-03). «Выпущен Emacs 22.1» . info-gnu-emacs (список рассылки) . Проверено 31 июля 2011 .
  33. Фен, Крис (27 ноября 2017 г.). "exwm: Emacs X Window Manager" - через GitHub.
  34. ^ "Вавилон: Введение" .
  35. ^ "6.1 Есть ли у Emacs проблемы с файлами размером более 8 мегабайт?" .
  36. B, Рампрасад (24 июня 2005 г.). «Часто задаваемые вопросы по GNU Emacs для Windows 95/98 / ME / NT / XP и 2000» . Проверено 27 сентября 2006 .
  37. ^ Боргман, Леннарт (2006). "Домашняя страница EmacsW32" . Архивировано из оригинала на 2007-03-06 . Проверено 27 сентября 2006 .
  38. ^ «GNU Emacs в Windows» . Franz Inc. 2006 . Проверено 27 сентября 2006 .
  39. ^ "Пакет Carbon Emacs" . Проверено 10 июня 2012 .
  40. ^ «Aquamacs - это простой в использовании Emacs в стиле Mac для Mac OS X» . Проверено 27 сентября 2006 .
  41. ^ «Emacs на Android» . EmacsWiki.[ нужен лучший источник ]
  42. ^ "CategoryPorts" . EmacsWiki.[ нужен лучший источник ]
  43. ^ Стивен Дж., Тернбулл. «XEmacs против GNU Emacs» . Проверено 2 октября 2012 .
  44. ^ "XEmacs мертв. Да здравствует XEmacs!" .
  45. ^ "FrontPage - Meadow Wiki" . 16 февраля 2012 года в архив с оригинала на 2012-02-16.
  46. ^ "Сайт SXEmacs" . Sxemacs.org. 2009-10-11 . Проверено 8 ноября 2009 .
  47. ^ "Remacs" . Репозиторий Remacs на github . Проверено 22 февраля 2017 года .
  48. ^ «НОВОСТИ.24.5» . НОВОСТИ GNU Emacs - история видимых пользователем изменений.
  49. ^ "Антиньюс" . Для тех пользователей, которые живут в обратном направлении, вот информация о переходе на Emacs версии 24.5. Мы надеемся, что вам понравится большая простота, вызванная отсутствием многих функций Emacs 25.2.
  50. ^ Временная шкала Emacs . Jwz.org. Проверено 17 июля 2013.
  51. ^ "Выпущен Emacs 26.1" . lists.gnu.org . Проверено 29 мая 2018 .
  52. ^ "Выпущен Emacs 25.1" . lists.gnu.org . Проверено 17 сентября 2016 .
  53. ^ "НОВОСТИ GNU Emacs - история видимых пользователем изменений" . 2015-04-10 . Проверено 11 апреля 2015 .
  54. ^ Petton, Николя (2015-04-10). «Выпущен Emacs 24.5» . Архивировано из оригинала на 2015-04-11 . Проверено 11 апреля 2015 .
  55. ^ Моррис, Гленн (2014-10-20). «Выпущен Emacs 24.4» . Проверено 22 октября 2014 .
  56. ^ Моррис, Гленн (2013-03-10). «Выпущен Emacs 24.3» . Проверено 16 марта 2013 .
  57. ^ Yidong, Чонг (2012-08-27). "Кандидат на выпуск Emacs 24.2" . Проверено 11 ноября 2012 .
  58. ^ Yidong, Чонг (2012-06-01). "Кандидат на выпуск Emacs 24.1" . Проверено 1 июня 2012 .
  59. ^ Yidong, Чонг (2012-01-09). «Недостаток безопасности в EDE; планы новых выпусков» . Проверено 23 февраля 2012 .
  60. ^ "emacs-fu: выпущен emacs 23!" . Emacs-fu.blogspot.com. 2009-07-28 . Проверено 8 ноября 2009 .
  61. ^ Zawodny, Джереми (2003-12-15). "Удаленное редактирование Emacs с помощью Tramp" . Журнал Linux . Проверено 1 февраля 2010 . Tramp [...] означает «Прозрачный удаленный (файловый) доступ, множественный протокол».
  62. ^ Free Software Foundation Inc (2007). "Emacs News версии 22.1" . Проверено 29 декабря 2013 .
  63. ^ a b c "НОВОСТИ.19" .
  64. ^ "Временная шкала Emacs" .
  65. ^ "Мигает GNUs" .
  66. ^ "NEWS.18" .
  67. ^ "NEWS.18" . Таким программам, как почтовые программы, которые вызывают «редактор» в качестве подчиненного для редактирования некоторого текста, теперь можно указать использовать существующий процесс Emacs вместо создания нового редактора.
  68. ^ а б "НОВОСТИ.1-17" .
  69. ^ "Xemacs Internals" .

Дальнейшее чтение [ править ]

  • Столмен, Ричард М. (2002). Руководство по GNU Emacs (15-е изд.). GNU Press. ISBN 978-1-882114-85-6.
  • Столмен, Ричард М. (2002). «Мои впечатления от Lisp и разработка GNU Emacs» . Проверено 1 февраля 2007 .
  • Шассел, Роберт Дж. (2004). Введение в программирование в Emacs Lisp . GNU Press. ISBN 978-1-882114-56-6. Архивировано из оригинала на 2013-07-03.
  • Гликштейн, Боб (апрель 1997 г.). Написание расширений GNU Emacs . O'Reilly & Associates. ISBN 978-1-56592-261-7.
  • Кэмерон, Дебра; Эллиотт, Джеймс; Лой, Марк; Раймонд, Эрик; Розенблатт, Билл (декабрь 2004 г.). Изучение GNU Emacs, 3-е издание . O'Reilly & Associates. ISBN 978-0-596-00648-8.

Внешние ссылки [ править ]

  • Официальный веб-сайт
  • Неофициальная вики по Emacs