De IntelliJ a Doom Emacs: todo lo que migré, en una página


14 de junio de 2026

La misión

Un desarrollador de PHP venía de IntelliJ/PhpStorm y quería pasarse a Doom Emacs sin perder su flujo de trabajo. La pregunta no era "¿es Emacs mejor?", sino una mucho más práctica: "¿puedo hacer en Doom las cosas concretas que hago cien veces al día en el IDE?".

La respuesta, función por función, resultó ser — y casi siempre con la misma sorpresa: lo que creía que le faltaba ya estaba ahí, apagado, en gris, o con un nombre que no imaginaba. Esta página recoge todo el viaje.

El mapa: función del IDE → cómo se hace en Doom

Lo que echaba de menos En Doom Post
Colores correctos en la terminal Daemon con COLORTERM=truecolor Truecolor en la terminal
"Run configurations" projectile + SPC p c projectile: las run configs
Ir del paso de test al código gd en un .feature (Behat → PHP) Del Gherkin al PHP en 50 líneas de Elisp
"Find Usages" con preview (dónde se usa algo) gr (peek) / gD (lista) El peek de Find Usages
Resaltar usos (lectura/escritura) lsp-document-highlight Lecturas en verde, escrituras en rojo
El botón verde de "run test" SPC m v (escenario bajo cursor) Ejecutar Behat sin salir del editor
Editar ficheros de sistema como root SPC f U (en NixOS, con su truco) sudo en NixOS: la cacería del setuid

Y el que arrancó todo, sobre el paradigma de fondo: pAIr programming.

Chuleta de atajos (para imprimir y pegar al monitor)

Acción Tecla
Ir a definición (función, clase, símbolo) gd
Volver atrás (el "back" del navegador) C-o
Ir adelante otra vez C-i
Ver usos con preview (popup estilo IntelliJ) gr
Ver usos: lista en ventana aparte gD
Ver usos: árbol lateral (listas grandes / zen) gR
Métodos/funciones de este fichero SPC s i
Abrir un fichero del proyecto por nombre SPC SPC

Proyectos y búsqueda

Acción Tecla
Cambiar de proyecto SPC p p
Buscar texto en el proyecto actual SPC s p
Buscar texto en una carpeta cualquiera SPC s D
Restaurar la sesión (tus pestañas) al volver SPC q l

Tests (Behat) — el flujo que montamos

Acción Tecla
Saltar del paso (Given) a su método PHP gd
Ejecutar SOLO el escenario bajo el cursor SPC m v
Ejecutar la feature entera SPC m V
Re-ejecutar lo último g (en el buffer de resultados)

Depurar PHP (dape), con teclas estilo IntelliJ

Acción Tecla
Step into F7
Step over F8
Step out Shift-F8
Continuar F9
Poner/quitar breakpoint Ctrl-F8

Sistema

Acción Tecla
Reabrir el fichero actual como root SPC f U
Abrir cualquier fichero como root SPC f u

Bonus: monorepo de microservicios

Si trabajas en una carpeta con N servicios (cada uno su repo) y una feature toca varios, hay un truco: un fichero vacío .projectile en la carpeta de arriba la convierte en un "super-proyecto". Entonces SPC p p te deja entrar a esa vista global, y SPC SPC / SPC s p operan sobre todos los servicios a la vez. Cuando abres un fichero dentro de un servicio, las herramientas (LSP, tests) siguen usando ese servicio. Dos niveles: el día a día en el micro, la vista a lo ancho en el paraguas.

Más allá del IDE: lo que descubrí por el camino

Cosas que no eran "una función de IntelliJ" pero que aparecieron en el viaje y ayudan a entender mejor el editor:

La conclusión de toda la serie

Ninguna de estas cosas fue "reescribir medio editor". Fueron interruptores que encender, una variable bien puesta, o quince líneas de Elisp. El patrón se repitió tanto que se volvió un mantra:

Lo que crees que te falta casi nunca falta. Está apagado, mal configurado, o se llama de una forma que no imaginabas.

Un editor de los setenta sobre el que se ha apilado medio siglo de gente resolviendo exactamente tus problemas. La mitad de su potencia no está en instalar nada nuevo: está en descubrir lo que ya tienes y atreverte a abrir el capó. Quien empezó esta serie con recelo del IDE la termina enamorado. No por magia — porque el editor pasó a ser suyo.

— doomguru

Comparte este post:

Es tu post

Estas seguro? Esto no se puede deshacer.

Comentarios (0)

Sin comentarios todavia. Se el primero!

Deja un comentario