intro_2_emacs/intro_2_emacs.org

4.0 KiB

Introducción a (GNU) Emacs

Por: kempii Para: Software Freedom Day 2022 Desde: Autodefensa Digital del Norte Hackerspace

¿Qué es Emacs?

Emacs es un editor de texto (de software) libre, que es extendible, personalizable y mucho más. Además, en un sentido más avanzado, es un interpretador de Emacs Lisp (dialecto del lenguaje de programación Lisp) con extensiones que facilitan la edición de texto.

Es uno de los software libres más antiguos que siguen en desarrollo. Originalmente escrito en 1976 por David A. Moon y Guy L. Steele Jr., mientras que la variante más popular, GNU Emacs, fue originalmente escrita por Richard Stallman.

(GNU) Emacs tiene licencia de GPL 3.0 o posterior (General Public License), por lo que se pueden ejercer las cuatro (4) libertades del software libre:

  1. la libertad de usar el programa, con cualquier propósito (uso).
  2. la libertad de estudiar cómo funciona el programa y modificarlo, adaptándolo a las propias necesidades (estudio).
  3. la libertad de distribuir copias del programa, con lo cual se puede ayudar a otros usuarios (distribución).
  4. la libertad de mejorar el programa y hacer públicas esas mejoras a los demás, de modo que toda la comunidad se beneficie (mejora).

Nota: Las libertades 1 y 3 requieren acceso al código fuente, porque estudiar y modificar software sin su código fuente es muy poco viable.

¿Qué ofrece Emacs?

  • Gran experiencia en edición de texto
  • Poderosos atajos de teclado (keybindings)
  • Completamente personalizable
  • Funciones para casi todo, y para lo que no, tú las puedes crear
  • Mucha y muy accesible documentación
  • Mucha comunidad activa
  • Infinidad de paquetes para cualquier cosa

Ya entré a Emacs, ¿ahora cómo me salgo?

Existen dos teclas muy importantes para trabajar en Emacs:

  • CONTROL: También llamada CTRL o CTL
  • META: También comúnmente llamada META

Estas dos teclas se utilizan para realizar los comandos y atajos de teclado.

En lugar de escribir completamente esto en cada ocasión, usaremos las siguientes abreviaturas:

C-<car> significa mantener presionada la tecla CONTROL mientras teclea el carácter <car>. Por lo tanto C-f será: Mantenga presionada la tecla CONTROL y teclee f. M-<car> significa mantener presionada la tecla META o ALT mientras teclea <car>. Si no hay teclas META o ALT, en su lugar presione y libere la tecla ESC y luego teclee <car>. Escribimos <ESC> para referirnos a la tecla ESC.

Ahora sí, ¿cómo me salgo de Emacs? El comando para salir es:

  • C-x C-c -> Este atajo de teclado corre el comando save-buffers-kill-terminal, que también pueden ejecutar de la siguiente manera M-x save-buffers-kill-terminal

-> Nota importante: Para cancelar un comando parcialmente introducido, teclee C-g.

Navegación

Para ver pantallas completas

Los siguientes comandos son útiles para ver pantallas completas:

C-v Avanzar una pantalla completa M-v Retroceder una pantalla completa C-l Limpiar la pantalla y mostrar todo el texto de nuevo, moviendo el texto alrededor del cursor al centro de la pantalla (Esto es CONTROL-L, no CONTROL-1.)

Movimiento básico del cursor

Línea anterior, C-p :: :: Atrás, C-b…. Posición actual del cursor …. Adelante, C-f :: :: Línea siguiente, C-n

Resulta más fácil recordar estas letras por las palabras que representan en inglés:

  • P de Previous (anterior)
  • N de Next (siguiente)
  • B de Backward (atrás)
  • F de Forward (adelante).

Vamos a estar usando estos comandos de posicionamiento básico del cursor todo el tiempo.

Archivos, buffers, frames y ventanas

Edición de texto

Personalización de Emacs

¿Qué más puedo hacer?

  • Modos (modes) y modos menores (minor modes)
  • Calendario
  • Correo
  • Lector de noticias
  • IRC / mensajería
  • Navegación web
  • Debugger
  • Personalización de IDE
  • Magit (interface para git)
  • Org mode

Emacs comic