diff --git a/init.el b/init.el new file mode 100644 index 0000000..e69de29 diff --git a/intro_2_emacs.org b/intro_2_emacs.org new file mode 100644 index 0000000..b296fbc --- /dev/null +++ b/intro_2_emacs.org @@ -0,0 +1,112 @@ + +* 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: + +0. la libertad de *usar* el programa, con cualquier propósito (uso). +1. la libertad de *estudiar* cómo funciona el programa y modificarlo, adaptándolo a las propias necesidades (estudio). +2. la libertad de *distribuir* copias del programa, con lo cual se puede ayudar a otros usuarios (distribución). +3. 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- significa mantener presionada la tecla CONTROL mientras + teclea el carácter . Por lo tanto C-f será: Mantenga + presionada la tecla CONTROL y teclee f. + M- significa mantener presionada la tecla META o ALT mientras + teclea . Si no hay teclas META o ALT, en su lugar + presione y libere la tecla ESC y luego teclee . + Escribimos 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 + +[[file:~/Proyectos/Presentaciones/real_programmers.png][Emacs comic]] diff --git a/real_programmers.png b/real_programmers.png new file mode 100644 index 0000000..f39c01a Binary files /dev/null and b/real_programmers.png differ