Como muchas personas, he pasado por varios programas para escribir mis textos, manejar hojas de cálculo, hacer presentaciones y programar. Todos tienen ventajas y desventajas, y a veces los intercambio según la tarea. Microsoft Office y Google Docs dominan cómodamente sus respectivos entornos. Sé bien que programar en Java o Kotlin puede ser más fácil con IntelliJ, que ofrece múltiples herramientas específicas para esos lenguajes. Visual Studio y VS Code brillan con C(++) y C#, y permiten extenderse casi indefinidamente. RStudio es excelente para trabajar en R, y PyCharm para Python. SPSS y Stata facilitan el análisis estadístico con menús muy completos. Todos tienen su lugar. Aun así, yo uso Emacs.
Emacs para todo
Tal vez Emacs no sea el mejor en ninguna de esas tareas por separado. No voy a discutir eso. Pero a pesar de las ventajas de otros programas, Emacs destaca como editor general. Y eso es valioso: prefiero no estar cambiando de entorno constantemente. Con Emacs hago casi todo en el mismo programa..
Se trata de un editor programable, posiblemente el primero en su tipo. Con el paso de los años ha acumulado cientos de módulos y librerías para todo tipo de usos. Entre los nerds tecnológicos incluso hay bromas acerca de esto (Los verdaderos programadores). Esa es su fortaleza. Si algo no se puede hacer directamente, es probable que alguien ya haya creado un paquete para ello. Y si no, uno mismo puede ajustarlo. Tal vez solo Vim compite en este terreno, aunque en un claro segundo lugar.
Otra parte de la magia es que todo en Emacs es texto. Emacs trabaja con texto y lo hace bien. Y si en cinco años vuelvo para revisar lo que hice, sigue siendo texto. No hay formatos extraños para los archivos, que un día cambian y desaparecen.
Con texto se puede codificar en casi cualquier lenguaje, redactar documentos, elaborar presentaciones, gestionar la agenda, consultar el correo o conectarse a servidores remotos. Muchos días ni siquiera hace falta salir de Emacs.
Actualmente uso la versión más reciente (la 30), y sigue sorprendiendo lo rápido que carga en comparación con otros IDEs modernos, mucho más pesados. Poco a poco le he ido añadiendo funcionalidades. Si algo no me gusta, lo cambio. No siempre es fácil, pero con algo de práctica, casi todo es posible.
Eso sí, hay un efecto secundario: uno se acostumbra tanto a su entorno personalizado, con sus combinaciones de teclas y flujos de trabajo, que luego resulta difícil adaptarse a cualquier otro editor, incluso a Emacs sin configuración previa. Más de una vez me he descubierto intentando atajos de Emacs en otros programas, sin mucho éxito, para luego tratar de corregir los daños. También es una cuestión física: un Emacsiano de verdad no pierde tiempo moviendo el ratón cuando todo puede hacerse con unas cuantas teclas. Y eso vale igual para uno o seis documentos abiertos a la vez. El truco está en conocer y recordar los comandos adecuados.
¿Lo recomiendo? No estoy seguro. Es una maravilla poder hacerlo todo en el mismo lugar y personalizar cada aspecto, pero no necesariamente es para todos. Primero, porque distanciarse de los flujos más comunes tiene un costo —como saben quienes han tratado de aprender Emacs sin mucha suerte, pues memorizar funciones y combinaciones tan distintas al resto del software no es tarea sencilla.
Una segunda razón para no recomendar Emacs es que esta facilidad de personalización puede convertirse en una trampa: uno puede invertir horas ajustando detalles —que en otros entornos se dan por hechos— y pasar el día haciendo que cada cosa quede exactamente como le gusta. Para muchos, Emacs termina siendo un pasatiempo más.
Por último, hay una tercera razón y es que la interfaz carece del diseño moderno de otros programas, con sus íconos, menús y adornos visuales. Esto puede sorprender a muchos, aunque en realidad es una ventaja: a mí me ofrece un entorno minimalista, funcional y apropiado para casi cualquier tipo de trabajo sin distracciones ni adornos innecesarios.
Como se ve aquí abajo, prefiero mantener un entorno limpio. Nada de menús ni barras innecesarias. Solo texto en el centro, con márgenes amplios. Uso un tema oscuro para la noche y uno claro para el día. Todo se ajusta fácilmente desde una plantilla.

Figura 1: Captura de pantalla del escritorio
No soy experto en configurar, pero suelo apoyarme en las plantillas y paquetes que otros han creado. Y solo abro el menú o los índices cuando necesito ayuda para encontrar alguna función perdida.
Escribiendo con Org
Org es un lenguaje de marcado ligero (markup), parecido a Markdown o asciidoc. Todo es texto plano, enriquecido con algunas marcas simples para darle formato:
- negritas
- la frase se coloca entre asteriscos ‘*’
- cursiva
- entre barras ‘/’
- subrayado
- con guiones bajos ‘_’
tachado- con signos más ‘+’
código- entre virgulillas ‘~’
verbatim- entre signos iguales ‘=’
- superíndices
- e2
- subíndices
- H2O
- enlaces externos
- enlaces externos (Org mode)
- enlaces internos
- La torre de Babel
Los encabezados, títulos y subtítulos se crean añadiendo asteriscos al inicio de la línea:
Nivel dos
Con dos asteriscos (\*\*) tenemos un subtítulo
Nivel tres
Y con tres asteriscos hay un encabezado de tercer nivel.
También se pueden hacer listas con viñetas o números, con poner un guión o un número antes de cada entrada:
Elemento uno
Elemento dos
Paso uno
Paso dos
Escribir fórmulas con LaTeX
Org permite insertar expresiones matemáticas usando LaTeX:
\[ \sum_{i=1}^{n} p{_{i}^{r}}(\theta_{k}) = \sum_{j=1}^{n} p{_{i}^{r}}(\theta_{k})\]
Estas fórmulas se muestran correctamente al exportar el documento. 1
Aquí, por ejemplo, hay una cita.
Emacs para el blog
Para generar una entrada en mi blog utilizo un programa muy popular para esto: Hugo. El flujo de trabajo es similar al que uso con otros documentos. El PDF que se muestra más arriba y esta página en Internet provienen del mismo archivo Org. Con algunas marcas adicionales y una pequeña función personalizada, una vez que el texto está listo todo se actualiza con una combinación de teclas que hacen automáticamente esto: primero convierte el formato Org a Markdown (que es el formato que Hugo necesita), luego compila el sitio con Hugo y finalmente activa Git para subir todo a su lugar en la web.
Podría escribir directamente en Markdown, que se ha vuelto popular, especialmente porque es directamente compatible con herramientas como RMarkdown (en RStudio) o Jupyter Notebooks. Todos permiten combinar texto, código y gráficos. Pero sigo prefiriendo Org. Las razones son simples: Emacs me permite hacer lo mismo (y más), lo conozco, y me sirve para muchas otras tareas. A diferencia de RStudio o Jupyter, Emacs es un entorno de edición completo. Además de soportar múltiples lenguajes, tiene un sistema de edición textos más potente, corrector ortográfico, terminal integrada, conectividad con Git, y opciones de exportación más flexibles.
Al final, el objetivo de este blog es mostrar que es posible programar, analizar datos y presentarlos de forma clara y reproducible, todo desde el mismo entorno con el que escribo: Emacs.
Este es un pie de página. ↩︎