Emacs


Emacs / ˈ iː m æ k s / o EMACS ( Editor MACroS ) [3] [4] [5] es una familia de editores de texto que se caracterizan por su extensibilidad . [6] El manual de la variante más utilizada, [7] GNU Emacs , lo describe como "el editor de visualización en tiempo real extensible, personalizable, autodocumentado". [8] El desarrollo del primer Emacs comenzó a mediados de la década de 1970, y el trabajo en su descendiente directo, GNU Emacs, continúa activamente a partir de 2022 .

Emacs tiene más de 10 000 comandos integrados y su interfaz de usuario permite al usuario combinar estos comandos en macros para automatizar el trabajo. Las implementaciones de Emacs suelen presentar un dialecto del lenguaje de programación Lisp que proporciona una capacidad de extensión profunda, lo que permite a los usuarios y desarrolladores escribir nuevos comandos y aplicaciones para el editor. Se han escrito extensiones para administrar correo electrónico , archivos , esquemas y fuentes RSS , [9] así como clones de ELIZA , Pong , Conway's Life , Snake y Tetris .. [10]

El EMACS original fue escrito en 1976 por David A. Moon y Guy L. Steele Jr. como un conjunto de Editor MACroS para el editor TECO . [2] [3] [4] [5] [11] Se inspiró en las ideas de los editores de macros TECO TECMAC y TMACS. [12]

La versión más popular y más portada de Emacs es GNU Emacs, que fue creada por Richard Stallman para el Proyecto GNU . [13] XEmacs es una variante que surgió de GNU Emacs en 1991. GNU Emacs y XEmacs usan dialectos Lisp similares y son, en su mayor parte, compatibles entre sí. El desarrollo de XEmacs está inactivo.

Emacs es, junto con vi , uno de los dos principales contendientes en las tradicionales guerras de editores de la cultura Unix . Emacs se encuentra entre los proyectos gratuitos y de código abierto más antiguos que aún se encuentran en desarrollo. [14]

El desarrollo de Emacs comenzó durante la década de 1970 en el MIT AI Lab , cuyas computadoras PDP-6 y PDP-10 usaban el sistema operativo Incompatible Timesharing System (ITS) que presentaba un editor de línea predeterminado conocido como Tape Editor and Corrector.(TECO). A diferencia de la mayoría de los editores de texto modernos, TECO usaba modos separados en los que el usuario agregaba texto, editaba texto existente o mostraba el documento. Uno no podría colocar caracteres directamente en un documento escribiéndolos en TECO, sino que ingresaría un carácter ('i') en el lenguaje de comandos de TECO diciéndole que cambie al modo de entrada, ingrese los caracteres requeridos, tiempo durante el cual el texto editado no se mostró en la pantalla y, finalmente, ingrese un carácter (<esc>) para cambiar el editor al modo de comando. (Se usó una técnica similar para permitir sobrescribir). Este comportamiento es similar al del programa ed .


Emacs fue iniciado por Guy L. Steele Jr. como un proyecto para unificar los muchos conjuntos de comandos TECO divergentes y combinaciones de teclas en el MIT [4]
David A. Luna
La interfaz de Emacs fue influenciada por el diseño del teclado del cadete espacial de Symbolics [15]
James Gosling escribió el primer editor similar a Emacs que se ejecutó en Unix ( Gosling Emacs ) en 1981
GNU Emacs ejecutándose en una consola de texto
GNU Emacs ejecutándose en Microsoft Windows
XEmacs 21.5 en Linux
uEmacs/Pk 4.0.15 en Linux
El editor similar a mg tiny Emacs en OpenBSD 5.3. Edición del código fuente de Ruby
JOVE ejecutándose en una caja Debian
Zmacs , un Emacs para máquinas Lisp