Adrianistán

Verano de Emacs: antes muerto que sencillo

03/09/2026

Aunque ya estamos en septiembre, el verano no ha acabado. Lo hará el 21 de septiembre. Hoy vamos a ver algo que puede ser superficial, incluso algunos dirían que vanidoso. Hoy vamos a ajustar la estética de Emacs.

¿Por qué poner guapo a Emacs?

La estética no es una vanidad. Nuestro entorno de escritura debe ser cómodo y atractivo. Y si eso implica cambiar los ajustes por defecto que así sea. Por otro lado es cierto que esto puede convertirse en una tarea sin final, hay que saber poner límites al tiempo dedicado a esto.

Por último, todo el mundo tiene gustos diferentes. En lo personal quiero una interfaz no demasiado sobrecargada aunque tampoco minimalista estrictamente hablando. Para los usuarios que prefieren más información en pantalla existen multitud de paquetes como treemacs, breadcumb, ... que añaden iconos, más interfaz, etc

Simplificando la interfaz

Emacs, en su modo GUI por defecto, tiene varios elementos visuales. La Menu Bar y la Tool Bar. Son redundantes y la tool bar tiene menos opciones y ocupa más, por lo que recomiendo desactivarla. Por otro lado, la barra de scroll es bastante innecesaria, porque siempre me desplazo por los buffers con teclado.


(menu-bar-mode 1)
(tool-bar-mode -1)
(scroll-bar-mode -1)

Podría hablar de las pestañas y es que Emacs soporta tener pestañas en cada frame (ventana de nuestro escritorio). Estuve un tiempo tratando de usar pestañas y realmente no me aportaban mucho. En otros editores donde se usa más el ratón pueden tener sentido pero en Emacs normalmente con el cambio entre buffers es suficiente.

Números de línea

Un detalle que me parece importante es ver los números de línea en los laterales. En Emacs esto se puede activar en modos específicos o de forma global. Personalmente yo prefiero modo global ya que no se me ocurren muchos modos donde quisiera tenerlo desactivado. Además al haber quitado la barra de scroll, esto recupera algún elemento para ubicarnos dentro del buffer

Existen dos modos de contar líneas: absoluto y relativo. En el modo absoluto aparece con cada línea su número de línea dentro del buffer. Fácil y sencillo. Pero en Emacs tenemos comandos que aceptan argumentos numéricos, por ejemplo, borrar línea (C-k por defecto). Con los números absolutos tendremos que hacer restas. Con el modo relativo solo la línea actual muestra su posición de forma absoluta, el resto muestran su diferencia respecto a esta línea. Yo lo tengo en modo relativo.


(setq display-line-numbers-type 'relative)
(global-display-line-numbers-mode 1)

Tipografía, colores y espaciado

Por último vamos a la sección más puramente estética. Para la tipografía, configuro una tipografía como Monaspace Neon. Hablé de ella en mi lista de tipografías. Le configuro un tamaño algo más grande de lo habitual para que sea cómoda de leer en mi monitor.

Un detalle que me no me gusta de Emacs es que por defecto no deja suficentes márgenes. Existe un paquete hecho por Protesilaos que permite configurar márgenes llamado spacious-padding.

De Protesilaos también es el tema que configuro. Prot tiene varios paquetes de temas como modus-themes, ef-themes (εὖ) y doric-themes. ef-themes es donde tendremos más variedad. Recomiendo que uses M-x ef-themes-select para ir probando los diferentes temas y decidas cual de gusta más. En el ejemplo voy a poner ef-cyprus que tiene tonos verdes.


(set-face-attribute 'default nil
                    :font "Monaspace Neon Var"
                    :height 130)
(use-package ef-themes
  :ensure t
  :config
  (modus-themes-load-theme 'ef-cyprus))

(use-package spacious-padding
  :ensure t
  :config
  (setq spacious-padding-widths
        '( :internal-border-width 0
           :right-divider-width 0
	   :mode-line-width 2
           :fringe-width 20))
  (spacious-padding-mode 1))
Tags: emacs