Emacs


Emacs (И́макс, Ема́кс, также Е́макс) — семейство многофункциональных расширяемых текстовых редакторов.

Оригинальный EMACS был написан в 1976 году Ричардом Столлманом и Гаем Стилом[en] как набор макросов для редактирования (англ. Editor MACroS) для редактора TECO[4][5][6][7].

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

В 1972 или 1974 году (по другим данным, в 1976) Ричард Столлман посетил Stanford AI Lab, где познакомился с текстовым редактором E, который произвёл на него большое впечатление. E позволял осуществлять редактирование в реальном времени, когда экран обновлялся с каждым нажатием клавиши.

В 1972 году Карл Миккельсен (или Миккельсон) добавил в TECO функцию, переключавшую его из командного режима в режим редактирования в реальном времени, в котором экран обновлялся с каждым нажатием клавиши. Функция была названа «Control-R», по имени клавишной комбинации, запускавшей её. Ричард Столлман модифицировал эту функцию, сделав её более эффективной и добавив возможность вызова макросов, позволявших с помощью комбинаций клавиш вызывать соответствующие команды TECO.

В 1978 году Бернардом Гринбергом из Honeywell Cambridge Information Systems Lab был создан Multics Emacs, написанный на MacLisp. Пользовательские расширения были также написаны на Лиспе. Выбор Лиспа обеспечил большую, чем когда-либо прежде, гибкость, и за ним последовало большинство последующих реализаций Emacs.