Neovim: el editor de texto que cambia la forma en que programas
Tiempo de lectura: 8 minutos Categoría: Linux · Herramientas Nivel: Principiante / Intermedio
Hay dos tipos de programadores: los que usan Neovim y los que todavía no lo han probado. Es una broma, claro, pero hay algo de verdad en que una vez que te acostumbras a editar texto con los movimientos de Vim, volver a cualquier otro editor se siente torpe e ineficiente. En este artículo te explico qué hace especial a Neovim y cómo empezar sin volverse loco.
¿Por qué Neovim en vez de VS Code?
VS Code es un editor excelente y no hay nada malo en usarlo. Pero Neovim ofrece algo diferente: una filosofía de edición basada en el teclado que, una vez dominada, hace que escribir y editar código sea significativamente más rápido porque nunca tienes que mover la mano al ratón.
Neovim es un fork moderno de Vim que añade soporte nativo para Lua como lenguaje de configuración, un servidor de lenguaje integrado para autocompletado e intellisense, soporte para plugins modernos escritos en Lua, y una arquitectura asíncrona que lo hace mucho más rápido que el Vim original.
Además consume muy pocos recursos, funciona perfectamente en SSH sin ninguna configuración adicional, y hay algo innegablemente satisfactorio en editar archivos directamente en el servidor remoto con la misma configuración y atajos que usas localmente.
El concepto de modos: la clave para entender Vim
Lo que confunde a todo el mundo cuando abre Vim por primera vez es que no puedes escribir directamente. Esto es porque Vim y Neovim tienen varios modos de operación.
El modo Normal es el modo por defecto al que vuelves siempre con la tecla Escape. En este modo las teclas son comandos de navegación y edición, no caracteres. Es el modo donde pasas más tiempo.
El modo Insert es donde escribes texto normal. Entras en él pulsando i para insertar antes del cursor, a para insertar después, o para abrir una línea nueva debajo, entre otros.
El modo Visual te permite seleccionar texto. Con v seleccionas carácter a carácter, con V seleccionas líneas completas y con Ctrl+V seleccionas bloques rectangulares.
El modo Command se activa con el carácter dos puntos y te permite ejecutar comandos como guardar el archivo, salir, buscar y reemplazar, y muchas cosas más.
Los comandos básicos para sobrevivir
Antes de configurar nada necesitas conocer los comandos mínimos para moverte y editar. En modo Normal las teclas h, j, k, l mueven el cursor izquierda, abajo, arriba y derecha respectivamente. w salta al inicio de la siguiente palabra, b vuelve al inicio de la palabra anterior, 0 va al inicio de la línea y $ va al final.
Para editar, x elimina el carácter bajo el cursor, dd elimina la línea completa, yy copia la línea y p la pega después del cursor. u deshace el último cambio y Ctrl+r lo rehace.
Para guardar y salir en modo Command escribes :w para guardar, :q para salir, :wq para guardar y salir, y :q! para salir sin guardar.
Con estos comandos ya puedes sobrevivir. El resto llega con la práctica.
Instalar Neovim
En Ubuntu y Debian la versión de los repositorios oficiales suele estar desactualizada. La forma recomendada es descargar el binario precompilado directamente desde las releases del repositorio de GitHub de Neovim, o añadir el PPA oficial para tener siempre la última versión estable.
En Arch Linux Neovim está en los repositorios oficiales y siempre está actualizado. En Fedora también está disponible con dnf.
Verifica la instalación ejecutando nvim --version. Deberías ver algo como NVIM v0.10 o superior.
Configuración básica con Lua
La configuración de Neovim vive en el archivo init.lua dentro de la carpeta ~/.config/nvim. Si no existe, créala.
Una configuración mínima pero funcional debería establecer algunas opciones básicas: mostrar los números de línea, usar espacios en vez de tabulaciones, establecer el tamaño de la indentación, activar el resaltado de la línea actual, habilitar la búsqueda incremental que resalta los resultados mientras escribes, e ignorar mayúsculas y minúsculas en las búsquedas a menos que uses alguna mayúscula en el patrón.
Con estas opciones básicas ya tienes un editor mucho más cómodo de usar.
Gestión de plugins con Lazy.nvim
Lazy.nvim es el gestor de plugins moderno más popular para Neovim. Se instala copiando un pequeño fragmento de código en tu init.lua que descarga Lazy automáticamente si no está instalado.
Los plugins más recomendados para empezar son nvim-treesitter para resaltado de sintaxis preciso basado en el árbol de sintaxis del lenguaje, telescope.nvim para búsqueda difusa de archivos, texto y comandos, nvim-lspconfig para configurar los servidores de lenguaje que dan autocompletado e información de errores en tiempo real, y un tema de colores que te guste como tokyonight o catppuccin.
Distribuciones de Neovim: el camino fácil
Si toda esta configuración te parece abrumadora, existe una alternativa: usar una distribución de Neovim que viene preconfigurada con todo listo para usar.
LazyVim y NvChad son las más populares. Las descargas, las instalas siguiendo sus instrucciones y tienes un editor completamente funcional con autocompletado, explorador de archivos, búsqueda, temas y muchísimo más, sin tener que configurar nada manualmente.
Una vez que te sientas cómodo con el editor puedes explorar la configuración y personalizarla a tu gusto.
La curva de aprendizaje vale la pena
Los primeros días con Neovim son frustrantes. Vas lento, tienes que pensar en cada movimiento y sientes que cualquier otro editor sería más eficiente. Eso es completamente normal.
Pero hay un punto de inflexión, generalmente después de una o dos semanas de uso diario, donde los movimientos se vuelven automáticos y empiezas a editar código a una velocidad que antes no creías posible. Los programadores que llevan años con Vim describen ese momento como uno de los hitos más importantes de su carrera.
La recomendación práctica es usar vimtutor, un tutorial interactivo que viene incluido con Neovim, durante 30 minutos al día durante una semana. Después empieza a usar Neovim para proyectos reales aunque vayas lento.
Conclusión
Neovim no es para todo el mundo y no tiene que serlo. Pero si valoras la eficiencia, te gusta personalizar tus herramientas al máximo y pasas muchas horas al día editando código o texto, merece la pena dedicarle el tiempo necesario para aprenderlo.
Una vez que lo dominas es muy difícil volver atrás.
¿Usas Vim, Neovim, Emacs o prefieres un editor más tradicional? El debate eterno sigue abierto en los comentarios.

