jueves, 2 de abril de 2026

Neovim: De Editor de Texto a Superpoder de Desarrollo


En el mundo de la programación científica y el HPC (High Performance Computing), la eficiencia no es solo un lujo, es una necesidad. Si trabajas con lenguajes como Python, Fortran o Julia, probablemente hayas oído hablar de Neovim. Pero, ¿qué es exactamente y por qué la comunidad académica y de ingeniería está obsesionada con él?

¿Qué es Neovim?

Neovim es un "fork" moderno de Vim. Mantiene la filosofía de edición modal (donde el teclado sirve para dar órdenes, no solo para escribir letras), pero añade capacidades modernas como:

  • LSP (Language Server Protocol): Inteligencia de código (autocompletado, ir a definición) al nivel de VS Code.

  • Tree-sitter: Resaltado de sintaxis ultrarrápido y preciso.

  • Lua: Un lenguaje de scripting potente y fácil para configurar el editor.

Tutorial de Instalación (Linux y macOS)

1. Instalación Base

En la mayoría de sistemas modernos, es tan simple como usar el gestor de paquetes:

  • macOS (Homebrew): brew install neovim

  • Ubuntu/Debian: sudo apt install nvim (Se recomienda usar el PPA oficial para versiones recientes).

  • Fedora: sudo dnf install neovim

2. La estructura de configuración

Neovim busca sus archivos en ~/.config/nvim/. El archivo principal es init.lua.

Para un principiante, recomiendo empezar con una "distribución" preconfigurada que mantenga la esencia de Neovim pero con esteroides. La mejor opción actual es LazyVim.

Instalación rápida de LazyVim:

  1. Haz una copia de seguridad de tu config actual: mv ~/.config/nvim ~/.config/nvim.bak

  2. Clona la plantilla:

    git clone [https://github.com/LazyVim/starter](https://github.com/LazyVim/starter) ~/.config/nvim
    rm -rf ~/.config/nvim/.git
    
  3. Abre Neovim: nvim. ¡Se instalará todo automáticamente!

Flujo de Trabajo y Ejemplos de Uso

Caso 1: Editando un script de Python

Imagina que estás ajustando los parámetros de difusividad térmica. En Neovim:

  1. Usas <Space> f f para buscar el archivo rápidamente.

  2. Escribes /fit_alpha para saltar directamente a la función de ajuste.

  3. Usas gd (Go to Definition) sobre una variable para ver dónde se definió.

  4. El autocompletado te sugerirá métodos de numpy o pathlib instantáneamente gracias al LSP.

Caso 2: Integración con Git/GitHub

No necesitas salir del editor. Con plugins como Gitsigns (incluido en LazyVim):

  • Verás barras de colores en el lateral indicando líneas nuevas, borradas o modificadas.

  • Puedes navegar entre cambios con [h y ]h.

  • Con el plugin LazyGit, presionas <Space> gg y tienes una interfaz completa para hacer commits, push y gestionar ramas sin tocar el ratón.

Caso 3: Multilenguaje (Fortran y Julia)

Neovim detecta automáticamente la extensión. Al abrir un archivo .f90 o .jl, activará el servidor de lenguaje correspondiente. Tendrás diagnóstico de errores en tiempo real, evitando errores de sintaxis antes de compilar.

Tabla de Ayuda para el Novato (Minitarjeta de Referencia)

Comando (Modo Normal)

Acción

Explicación

i

Insertar

Entra en modo escritura.

Esc

Volver

Regresa al modo normal (para dar órdenes).

h, j, k, l

Movimiento

Izquierda, abajo, arriba, derecha.

w / b

Palabra

Salta a la siguiente palabra / palabra anterior.

u

Deshacer

El clásico "Undo".

Ctrl + r

Rehacer

El clásico "Redo".

:w

Guardar

Escribe los cambios en el disco.

:q

Salir

Cierra el editor (añade ! para forzar sin guardar).

v

Visual

Entra en modo selección de texto.

y

Copiar (Yank)

Copia el texto seleccionado.

p

Pegar (Put)

Pega el texto después del cursor.

Space (en LazyVim)

Líder

La tecla mágica que abre los menús de plugins.

Conclusión

Neovim no es solo un editor, es una inversión en tu productividad. Al principio parece frustrante no usar el ratón, pero una vez que tus dedos memorizan los comandos, la velocidad a la que puedes manipular código científico y scripts de análisis es inigualable.

¡Anímate a probarlo y convierte tu terminal en un entorno de desarrollo profesional!