Introducción
Está leyendo sobre GNU Emacs, la encarnación GNU del avanzado, autodocumentado, personalizable y extensible editor Emacs. (La G
de GNU (GNU no es Unix) no es muda).
Llamamos avanzado a Emacs porque puede hacer mucho más que una simple inserción y borrado de texto. Puede controlar subprocesos, sangrar programas automáticamente, mostrar múltiples archivos a la vez, editar archivos remotos como si fueran archivos locales, y mucho más. Los comandos de edición de Emacs funcionan en términos de caracteres, palabras, líneas, frases, párrafos y páginas, así como de expresiones y comentarios en varios lenguajes de programación.
Autodocumentado significa que en cualquier momento puede utilizar comandos especiales, conocidos como comandos de ayuda, para averiguar cuáles son sus opciones, o para averiguar qué hace cualquier comando, o para encontrar todos los comandos que pertenecen a un tema determinado. Véase 11 Ayuda.
Personalizable significa que puede alterar fácilmente el comportamiento de los comandos de Emacs de maneras sencillas. Por ejemplo, si usa un lenguaje de programación en el que los comentarios empiezan con <**
y terminan con **>
, puede decirle a los comandos de manipulación de comentarios de Emacs que usen esas cadenas (vea 27.5. Manipulación de Comentarios). Por poner otro ejemplo, puede reenlazar los comandos básicos de movimiento del cursor (arriba, abajo, izquierda y derecha) a cualquier tecla del teclado que te resulte cómoda. Véase 50 Personalización.
Extensible significa que puede ir más allá de la simple personalización y crear comandos completamente nuevos. Los nuevos comandos son simplemente programas escritos en lenguaje Lisp, que son ejecutados por el propio intérprete Lisp de Emacs. Los comandos existentes pueden incluso redefinirse en mitad de una sesión de edición, sin tener que reiniciar Emacs. La mayoría de los comandos de edición en Emacs están escritos en Lisp; las pocas excepciones podrían haber sido escritas en Lisp pero usan C en su lugar por eficiencia. Escribir una extensión es programar, pero los no programadores pueden usarla después. Ver Prefacio en Una Introducción a la Programación en Emacs Lisp, si quiere aprender programación en Emacs Lisp.