wandres.dev
El editor a la velocidad del pensamiento

Domina Neovim
hasta nivel dios

De cero a nivel dios: modelo modal, tu propia config en Lua, un IDE para C/Rust/Swift/Frontend, terminal, automatización e IA.

La ruta

27 niveles, de novato a dios

Cada nivel construye sobre el anterior. Sin saltos, sin huecos.

Novato Nivel 0 · Fundamentos

Entiende la filosofía modal y la "gramática" de Vim. Instala Neovim 0.12 y aprende a moverte y editar sin tocar el ratón.

Modelo modalMovimientosGramática VimInstalación

Aprendiz Nivel 1 · Config desde cero

Construye tu propia configuración en Lua desde un init.lua vacío. Opciones, keymaps, leader y tu primer gestor de plugins.

init.luaLuaKeymapsGestor de plugins

Ninja Nivel 2 · IDE completo

Convierte Neovim en un IDE: LSP nativo, autocompletado, Treesitter, Git, debugging y setups afinados para C, Rust, Swift y frontend.

LSPblink.cmpDAPC · Rust · Swift · React

Dios Nivel 3 · Terminal · IA · Automatización

Domina la terminal entera: tmux/zellij, automatización de flujos, macros y registros, e integra IA en cada capa de tu edición.

tmux · zellijMacrosIAFlujo definitivo

Maestro Nivel 4 · Dominio profundo del editor

Domina el editor hasta el último rincón: buffers y ventanas, plegado, el árbol de deshacer, la quickfix, y registros y marcas a nivel experto.

Buffers · foldsUndo-treeQuickfixRegistros pro

Arquitecto Nivel 5 · Distribuciones y LazyVim

Distribuciones y LazyVim: cuándo usar una distro, LazyVim a fondo, personalizarlo sin romperlo y migrar con control total.

LazyVimExtrasOverrideMigración

Sensei Nivel 6 · El Dojo: práctica y maestría

El dojo: práctica deliberada, drills de vim-golf, un recorrido de entrenamiento guiado y un plan de 30 días para consolidar todo lo aprendido.

PrácticaVim-golfDrillsPlan 30 días

Lua Nivel 7 · el lenguaje del editor

Lua en el contexto de Neovim: tablas, metatablas, closures, módulos y el runtimepath; lo que de verdad necesitas para configurar y extender.

Luatablasmódulos

La API Nivel 8 · vim.api, vim.fn, vim.opt

Las tres capas de la API: vim.api (nvim_*), vim.fn para las funciones de Vimscript, vim.opt para opciones, y cuándo usar cada una.

vim.apivim.fnvim.opt

Autocomandos Nivel 9 · reaccionar a eventos

El sistema de eventos: autocomandos desde Lua, grupos, patrones, eventos personalizados con User, y depurar por qué no dispara.

autocmdaugroupeventos

Buffers y ventanas Nivel 10 · la API desde dentro

Manipular el editor por código: crear y modificar buffers, ventanas y pestañas, buffers scratch, y las opciones por ámbito.

buffersventanasscratch

Keymaps y comandos Nivel 11 · extender la interfaz

Definir mapeos desde Lua con callbacks, comandos de usuario con argumentos y completado, y operadores propios con operatorfunc.

keymapcomandosoperatorfunc

El event loop Nivel 12 · libuv y vim.uv

El corazón asíncrono: libuv bajo Neovim, vim.uv, timers, vim.schedule y la regla de oro de no tocar la API desde el hilo del loop.

libuvvim.uvasync

Procesos externos Nivel 13 · jobs y terminal

Hablar con el sistema: vim.system, jobs asíncronos, leer stdout en streaming, el buffer de terminal y construir integraciones.

vim.systemjobsterminal

Extmarks Nivel 14 · anotar el texto

El sistema de marcas extendidas: namespaces, virtual text, signos, resaltado por rango, y cómo lo usan los plugins modernos.

extmarksvirtual textnamespace

Highlights Nivel 15 · el sistema de color

Cómo colorea Neovim: grupos de resaltado, enlaces, treesitter frente a syntax, y escribir un esquema de color propio.

highlightcolorschemegrupos

Treesitter: el árbol Nivel 16 · parseo incremental

Qué es Treesitter: gramáticas, parseo incremental, el árbol sintáctico concreto, y por qué sustituyó a las expresiones regulares.

TreesitterparserAST

Treesitter: queries Nivel 17 · capturas y predicados

El lenguaje de consultas: patrones, capturas, predicados y directivas; escribir tus propias queries y depurarlas con el playground.

querycapturaplayground

Treesitter aplicado Nivel 18 · text objects y más

Usar el árbol para trabajar: text objects sintácticos, navegación estructural, plegado, indentación y refactorizaciones.

textobjectsfoldingrefactor

El protocolo LSP Nivel 19 · qué habla el servidor

LSP por dentro: JSON-RPC, el handshake de capacidades, las peticiones y notificaciones clave, y leer el tráfico real.

LSPJSON-RPCcapabilities

vim.lsp Nivel 20 · el cliente por dentro

El cliente de Neovim: configurar servidores sin distribución, handlers propios, diagnósticos, y extender el comportamiento por defecto.

vim.lsphandlersdiagnósticos

Tu primer plugin Nivel 21 · de la idea al require

Escribir un plugin de verdad: la estructura de directorios, lua/ y plugin/, setup y configuración, y la carga perezosa.

pluginsetuplazy

Publicar un plugin Nivel 22 · API, docs y versiones

Del código al ecosistema: diseñar la API pública, escribir documentación en formato help, versionar, y no romper a tus usuarios.

docssemverAPI

Testear plugins Nivel 23 · busted y plenary

Calidad en un plugin: tests con plenary o busted, instancias headless de Neovim, y ejecutar la suite en CI.

testsplenaryheadless

Construir interfaz Nivel 24 · ventanas flotantes y UI

La UI de un plugin: ventanas flotantes, bordes, popups, statusline y winbar propias, y las convenciones de una buena interfaz.

floatingstatuslineUI

Rendimiento Nivel 25 · un editor instantáneo

Que nada se note: medir el arranque, perfilar Lua, carga perezosa real, y las causas típicas de que Neovim se atasque.

startuptimeprofilelazy

Nivel Dios: el editor Nivel 26 · síntesis y contribuir

La síntesis: el modelo mental completo de Neovim como plataforma, leer su código fuente, contribuir al core, y hacia dónde va el editor.

síntesiscorecontribuir
134lecciones
27niveles
0→∞de cero a dios
Qué vas a dominar

Todo lo que hace a un experto

⌨️

La gramática de Vim

Operadores + mociones + objetos de texto. Deja de memorizar atajos y empieza a "hablar" el idioma de la edición.

🧠

LSP nativo 0.12

vim.lsp.enable, Mason, diagnósticos y code actions. El motor de un IDE moderno, sin la pesadez.

blink.cmp

Autocompletado en Rust, fuzzy tolerante a typos y 0.5–4 ms por pulsación.

🌳

Treesitter

Resaltado semántico, objetos de texto inteligentes y selección incremental.

🪟

tmux + zellij

Multiplexores, navegación transparente entre paneles y sesionizadores.

🤖

IA por capas

Copilot/Supermaven, Avante/CodeCompanion y Claude Code integrados en tu flujo.

🦀

4 stacks afinados

clangd, rustaceanvim, sourcekit-lsp y el trío React/Tailwind/TS.

♻️

Automatización total

Macros, registros, quickfix, :g y :norm. Tareas repetitivas en una tecla.

CRustSwiftReactTypeScriptTailwindHTMLCSS

¿Listo para dominar Neovim?

Empieza por los fundamentos y sube nivel a nivel hasta el dominio total.

Comenzar el camino →