Adrianistán

Verano de Emacs: introducción

08/08/2026

Voy a comenzar una serie veraniega, titulada "Verano de Emacs". En esta serie, vamos a ver, algunos detalles de como usar Emacs. Existen multitud de tutoriales y documentación en Internet. Esto no es una serie desde el principio, simplemente voy a ir comentando cosas que no me parecen obvias o sobre las que he tenido que investigar un poco para llegar a alguna conclusión. Parte de la idea de hacerla, de hecho, es ayudarme a mí mismo a hacer un uso efectivo de esta gran herramienta así como justificar algunas decisiones que he tomado. Por tanto los temas que voy a tocar son cosas que uso o que considero interesantes usar. Voy a ignorar aquellas funcionalidades que no uso. Pongamos un ejemplo. Emacs soporta pestañas, aunque no vienen habilitadas por defecto. Después de haberlas usado en alguna ocasión nunca he llegado a darles un buen uso y no las uso. En esta serie no aparecerán junto con muchas otras cosas.

¿Por qué Emacs?

Se pueden dar miles de razones para no usar Emacs. Es feo, tiene una curva de aprendizaje alta, no usa atajos de teclado estándar, necesita configuraciones, pese a ser un software con solera es relativamente lento, comparativamente tiene pocos usuarios, ... Así que, ¿por qué usarlo? Realmente esto no va de programadores, que quizá es lo primero que se te venga a la cabeza al ver esto en este blog. Pero eso es solo un subtipo de gente a la que Emacs le puede venir bien. Hablo de la gente que escribe en general. De la gente que se expresa mediante la palabra. Emacs es, ante todo, un editor de texto. El equivalente al boli y papel en el mundo digital. Y es maleable. Puedes usar Emacs tal y como viene, o puedes modificarlo para que se adapte a tus manías, a tu forma de pensar, con y sin distracciones, tal y como quieras. Es por tanto quizá la mejor manera para escribir y expresarse. Tanto para hacer poesía como para diseñar estrategias empresariales, Emacs es esa capa entre nuestra mente y la realidad. Y en Emacs la maleabilidad no es solo una cantidad ingente de ajustes (que también) sino la posibilidad de cambiar prácticamente todo, sin recompilar, directamente sobre el propio programa. Acceso para controlar el ordenador, nuestra bicicleta de la mente, de forma precisa y con libertad.

Dicho esto, existen otros programas que pueden compartir ideales con Emacs. De hecho existe software muy similar a Emacs por diseño como Lem y podríamos hablar de otros editores de texto frikis como Neovim, Helix, ... Aquí el hecho de preferir Emacs es quizá algo más histórico que otra cosa, aunque no me cortaré al decir que he conocido gente con una visión humanística más allá de lo técnico que es realmente inspiradora.

En cualquier caso no pretendo convencerte si no sientes la necesidad de meterte en este mundo. Otro elefante en la habitación es que si leíste No estoy hecho para los tiling WM quizá te sorprenda que use un software tan maleable cuando en el caso de Niri y Sway al final no me convenció. Emacs es mi excepción, mi gran excepción. Porque es precisamente el sitio de un ordenador donde quiero tener todo el control.

Fichero de configuración

Para configurar Emacs, principalmente se usa el Init File, un fichero de código Emacs Lisp que se ejecuta cuando Emacs arranca. Emacs Lisp es el programación que usa Emacs y es bastante peculiar (quizá de los pocos lenguajes que queden con dynamic scoping). Quizá en un artículo posterior haga una introducción al lenguaje, pero la mayoría de configuraciones no requieren de código complejo.

La ubicación del init file puede ser: ~/.emacs, ~/.emacs.d/init.el o ~/.config/emacs/init.el

Nomenclatura de atajos de teclado

Emacs tiene multitud de atajos de teclado. Además dispone de una notación para que los podamos escribir siempre de la misma forma. Las letras C, M, S, s representan Control, Meta (Alt), Shift y Super (Windows) respectivamente y son modificadores. Las otras teclas suelen representarse por su tecla en el teclado. Si van unidas por un guion es que hay que pulsarlo a la vez. Hay atajos de teclado largos, separados por espacios. Cuando hay un espacio se deben soltar las teclas que no sean modificadores antes de continuar. Por ejemplo: "C-x C-c" (salir de Emacs), sería: pulso Control, pulso x a la vez, suelto la x, pulso c, dejo de pulsar Control.

Existen modificaciones sobre los comandos como God mode, del cuál quiero hablar en un post futuro.

Configurar emacsclient

Cuando instalamos Emacs es posible que nos salgan dos entradas en nuestro lanzador de aplicaciones: Emacs y Emacs (cliente). Esto es porque Emacs puede ejecutarse con un modo cliente-servidor. Permite tener un Emacs siempre levantado invisible y clientes ligeros que se abren y cierran sin tanto retardo y que comparten estado entre ellos. Cuando inicio Emacs siempre abro la sesión completa, "Emacs" a secas.

Así pues para arrancar el servidor nada más lanzar Emacs y así poder lanzar clientes después, tengo en la configuración:


(server-start)

Por otro lado, podemos configurar la variable EDITOR de nuestro shell para que se use emacsclient cuando algún programa de CLI lo requiera.


export EDITOR="emacsclient -c -a emacs"

Si añadimos a un .bashrc, .profile, o un fichero equivalente en Zsh, Fish, ... Se abrirá emacsclient cuando algún CLI requiera de un editor. El flag -c indica que se abrirá de forma gráfica, mientras que con -t se abriría en la terminal. El flag -a indica qué hacer si no hay levantado un servidor de Emacs. En ese caso, simplemente lanzamos Emacs.

Tags: emacs linux