BookinglyTech News
Software

SnaxVim no es una plantilla mínima: diez plugins de Neovim que forman un IDE

El autor de esta distribución de Neovim repasa los diez plugins que la componen y responde a quienes la ven como una plantilla ligera: LSP, autocompletado y depurador incluidos.

2 min de lecturaDev.to0 vistas

SnaxVim es una distribución de Neovim que funciona con diez plugins y arranca rápido. Ese perfil le ha ganado fama de plantilla ligera, y su autor ha salido a matizarlo: sostiene que esos diez plugins cubren las piezas de un IDE y que la cifra no implica renunciar a nada. El repositorio está en GitHub.

Qué hace cada plugin

La lista se recorre en un minuto. lazy.nvim es el gestor de plugins, aunque el autor avisa de que Neovim estrenó su propio gestor integrado, vim.pack, en la 0.12, y que SnaxVim estudia abandonar lazy.nvim en una versión futura. nvim-treesitter aporta resaltado, indentación y plegado conscientes de la sintaxis. blink.cmp se encarga del autocompletado: buffers, LSP, rutas de ficheros, snippets, tanto dentro del buffer como en la línea de comandos. mason.nvim instala y mantiene las herramientas externas —servidores LSP y DAP, linters, formateadores— y va por la versión 2.3.1. nvim-lspconfig configura el cliente LSP que Neovim ya trae de serie. Para depurar están nvim-dap y nvim-dap-view; nvim-lint cubre el análisis estático y conform.nvim el formateo. dashboard-nvim pone la pantalla de inicio.

Hay dos avisos que conviene leer antes de actualizar. nvim-lspconfig ha deprecado require('lspconfig') en favor de vim.lsp.config, disponible desde Neovim 0.11, y el módulo lspconfig.lua acabará desapareciendo. El plugin en sí no está deprecado: lo que cambia es la forma de invocarlo.

La reescritura de nvim-treesitter

El segundo aviso es más serio. nvim-treesitter ha pasado por una reescritura completa e incompatible: quien lo tenga montado tendrá que configurarlo de cero siguiendo las instrucciones nuevas. Si no se puede o no se quiere, queda la rama master, congelada pero mantenida para no romper la compatibilidad con Neovim 0.11. Los requisitos de la versión nueva no son triviales: Neovim 0.12.0 o nightly, tar y curl en el PATH, tree-sitter-cli 0.26.1 o superior instalado por el gestor de paquetes —no por npm— y un compilador de C. El repositorio, además, estuvo archivado un tiempo y volvió a abrirse, algo que dio bastante que hablar en la comunidad.

blink.cmp también tiene su migración en marcha. La versión 2 se está desarrollando con cambios que rompen compatibilidad, así que lo prudente es quedarse en la estable fijando branch = 'v1' o version = "1.*" en la configuración. Para la v2 hay que instalar blink.lib con el gestor de paquetes del sistema.

Al final la discusión no es si SnaxVim es minimalista, sino si esos diez plugins bastan para el trabajo diario. El autor defiende que sí y ha enseñado la lista completa, que es más de lo que suelen enseñar otras distribuciones: cualquiera puede comprobar por su cuenta qué falta y qué sobra.