Emacs son unha serie de editores de textos moi populares entre programadores informáticos e outros usuarios avanzados.

GNU Emacs, que fai parte do proxecto GNU, é a versión máis popular. O seu manual descríbeo como "un editor de texto en tempo real extensíbel, pesonalizábel e autodocumentado". A versión máis recente é a 26.2.

O EMACS orixinal era un conxunto de macros (de aí o nome Editor MACros) para o editor TECO escritos en 1975 por Richard Stallman xunto con Guy Steele. Inspirábase en ideas de TECMAC e TMACS, dous editores de macros de TECO escritos por Guy Steele, Dave Moon, Richard Greenblatt, Charles Frankston e outros. As dúas versións máis utilizadas na actualidade son GNU Emacs, iniciado por Richard Stallman en 1984 e que aínda mantén, e XEmacs, que se separou en 1991, aínda que retén a compatibilidade. Os dous utilizan unha linguaxe de extensións potente, Emacs Lisp, que lles permite desde escribir e compilar programas informáticos até navegar pola web.

Hai quen distingue entre "Emacs" (con maiúscula inicial), para referirse aos editores derivados das versións creadas por Richard Stallman (en particular GNU Emacs e XEmacs) e "emacs" (en minúsculas), para referirse a todos os demais produtos independentes.

En Unix, Emacs é un dos principais contendentes na tradicional guerra santa entre os editores fronte a vi.

O Emacs é un editor de texto e máis. O seu núcleo é un intérprete para o Emacs Lisp ('elisp', para abreviar), un dialecto da linguaxe de programación Lisp con extensións para soportar a edición de textos. Algunhas das características que o GNU Emacs inclúe son:

  • Posibilidade de traballar sen levantar as mans do bloque principal de teclas do teclado, obviando teclado numérico, cursores, teclas de función etc., acadando así unha altísima velocidade.
  • Contén unha considerábel cantidade de "modos maiores" para unha ampla variedade de tipos de arquivos, desde texto plano ata código fonte de ficheiros HTML pasando por multitude de linguaxes de programación como C, C++, Java, Python, Perl e o propio Lisp.
  • Orientación á programación, coa posibilidade de compilar e depurar código, así como lanzar shells, provendo deste xeito o usuario dun contorno integrado e coherente.
  • Unha completa documentación en liña, incluíndo un tutorial para novos usuarios.
  • Unha alta extensibilidade a través da linguaxe Emacs Lisp.
  • Soporte para moitas linguaxes e a súa grafía, incluíndo todas as escritas "latinas" europeas, ruso, grego, xaponés, chinés, coreano, tailandés, vietnamita, laosiano, etíope e algunhas escritas indias. (como broma, dise que os xeróglifos maias non dispoñen de soporte).
  • Un longo número de extensións que suman outras funcionalidades. A distribución GNU Emacs inclúe moitas extensións; moitas outras están dipoñibles separadamente, tal como un navegador web.

Historia editar

En 1974 no Instituto de Tecnoloxía de Massachusetts (MIT) Richard Stallman modificou TECO, un editor de texto do laboratorio de intelixencia artificial (IA) ao que se lle engadiron direrentes macros ata 1976, cando escribiu a primeira versión de Emacs (Editor Macros).

En 1978 un dos novos editores xurdidos de Emacs, MulticsEmacs, foi escrito en MacLisp, unha versión da linguaxe de programción de Lisp. Grazas á súa extensibilidade mantivéronse nos seguientes editores Emacs ata hoxe.

En 1981 Emacs comeza a funcionar nos sistemas operativos UNIX.

A finais de 1983 unha compañía esixe os seus deretios de autor sobre parte do código escrito por eles ao redor de 1980. Stallman abandona entón o Emacs orixinal e comeza GNU Emacs, agora coa licenza GPL. É o primeiro programa creado polo Proxecto GNU co obxectivo de crear un sistema operativo libre.

En 1991, naceu XEmacs como programa xurdido de versións antigas de GNU Emacs e independente dende entón deste.