Saltar al contenido

Los plugins que uso en Neovim en tiempos de IA

Con el uso de IA, Neovim se ha vuelto para mí más bien un editor para leer código y hacer cambios menores, gracias al agente de IA integrado. Mi forma de usarlo ha cambiado: ahora una parte importante del trabajo consiste en revisar lo que genera el agente, entender los cambios y ajustar los detalles que hagan falta.

Pero igual quería compartir los plugins que tengo en mi configuración, por si a alguien le sirven. Aunque escriba menos código directamente, sigo necesitando buscar archivos, moverme entre funciones, revisar diferencias y editar sin complicarme demasiado.

Los agrupé por función y dejé una breve descripción junto al enlace de cada uno. No hace falta instalar toda la lista: la idea es que encuentres algo útil para tu forma de trabajar.

Autocompletado y snippets en neovim

Para los cambios que sigo haciendo a mano, contar con un buen autocompletado y snippets sigue siendo útil. Esta es la combinación que tengo:

  • nvim-cmp: El motor de autocompletado.
  • cmp-async-path: Completa rutas de archivos de forma asíncrona.
  • cmp-buffer: Sugiere palabras a partir del contenido de los buffers.
  • cmp-nvim-lsp: Conecta las sugerencias del LSP con nvim-cmp.
  • cmp-nvim-lua: Añade autocompletado para la API de Lua de Neovim.
  • cmp_luasnip: Integra los snippets de LuaSnip con nvim-cmp.
  • LuaSnip: El motor para expandir y trabajar con snippets.
  • friendly-snippets: Una colección de snippets para distintos lenguajes.

LSP, formato, linting y depuración

Que parte del código lo escriba un agente no elimina la necesidad de revisar errores, mantener el formato y depurar. Aquí entran estas herramientas:

  • nvim-lspconfig: Configuraciones para conectar los servidores de lenguaje con el cliente LSP de Neovim.
  • mason.nvim: Facilita la instalación y la administración de servidores de lenguaje, formateadores, linters y adaptadores de depuración.
  • conform.nvim: Permite ejecutar formateadores de código directamente desde el editor.
  • formatter.nvim: Otra herramienta para integrar formateadores externos.
  • nvim-lint: Integra linters para mostrar errores y advertencias en el código.
  • nvim-dap: Añade un cliente de depuración para trabajar con puntos de interrupción, la ejecución paso a paso y la inspección de variables.

Edición y navegación en neovim

Esta parte sigue teniendo bastante sentido para mí: si ahora paso más tiempo leyendo código, moverme rápido por él y hacer cambios puntuales importa mucho.

  • vim-commentary: Comenta y descomenta código con pocos comandos.
  • vim-surround: Añade, cambia o elimina comillas, paréntesis, etiquetas y otros delimitadores.
  • vim-exchange: Intercambia dos fragmentos de texto.
  • vim-visual-multi: Permite trabajar con múltiples selecciones y cursores.
  • vim-ReplaceWithRegister: Reemplaza texto con el contenido de un registro.
  • hop.nvim: Permite saltar a distintas posiciones del texto mediante etiquetas.
  • vim-tmux-navigator: Unifica la navegación entre las divisiones de Vim y los paneles de tmux.
  • nvim-hlslens: Mejora la visualización de las coincidencias al buscar dentro de un archivo.
  • hardtime.nvim: Ayuda a corregir hábitos de navegación y a aprovechar mejor los movimientos de Vim.
  • treesj: Divide o une bloques de código entre una y varias líneas.
  • refactoring.nvim: Ofrece operaciones de refactorización, como extraer funciones o variables.
  • vim-import-js: Integra ImportJS para gestionar imports de JavaScript.
  • vim-jsx-pretty: Añade resaltado de sintaxis para JSX.
  • vim-php-refactoring-toolbox: Ofrece herramientas de refactorización para PHP.
  • vim-php-cs-fixer: Integra PHP CS Fixer para corregir el estilo del código PHP.

Archivos, búsquedas y proyectos

Encontrar el archivo correcto suele ser el primer paso para entender un cambio. Estos plugins cubren la exploración, las búsquedas y el manejo de proyectos y sesiones:

  • nvim-tree.lua: Un explorador de archivos en forma de árbol.
  • telescope.nvim: Permite buscar y filtrar archivos, contenido, buffers y otros elementos del editor.
  • neovim-project: Facilita cambiar entre proyectos y recuperar su contexto de trabajo.
  • neovim-session-manager: Guarda y restaura sesiones del editor.
  • vim-rooter: Ajusta el directorio de trabajo a la raíz del proyecto.

Git, tareas y sesiones en neovim

Con un agente haciendo cambios, revisar el diff es una parte importante del trabajo. Aquí también incluyo las herramientas para ejecutar tareas y mantener sesiones:

  • lazygit.nvim: Permite abrir lazygit dentro de Neovim.
  • git-blame.nvim: Muestra información del commit asociado a una línea.
  • gitsigns.nvim: Marca cambios de Git en el editor y permite trabajar con fragmentos del diff.
  • diffview.nvim: Ofrece una interfaz para revisar diferencias entre archivos y consultar su historial.
  • vim-signify: Muestra líneas añadidas, modificadas o eliminadas en el margen.
  • overseer.nvim: Permite ejecutar y administrar tareas, como builds y tests.
  • vim-obsession: Mantiene actualizados los archivos de sesión de Vim.

Interfaz y notificaciones

También hay plugins para hacer más cómoda la lectura, ver mejor lo que está pasando y recordar atajos. En esta categoría aparecen algunas dependencias que usan otros plugins:

  • indent-blankline.nvim: Muestra guías de indentación para seguir la estructura del código.
  • modes.nvim: Añade indicadores visuales de color según el modo del editor.
  • modicator.nvim: Cambia el color del número de la línea actual según el modo.
  • noice.nvim: Modifica la presentación de mensajes, la línea de comandos y otros elementos de la interfaz.
  • nui.nvim: Una biblioteca de componentes de interfaz utilizada por otros plugins.
  • nvim-notify: Presenta las notificaciones en ventanas configurables.
  • nvim-web-devicons: Proporciona iconos para tipos de archivo y otros elementos.
  • which-key.nvim: Muestra las combinaciones de teclas disponibles mientras empiezas a escribir un atajo.
  • menu: Permite crear menús, incluidos submenús, dentro del editor.
  • minty: Añade herramientas para seleccionar y explorar colores.
  • volt: Proporciona la base para crear interfaces interactivas utilizadas por otros plugins de esta lista.

IA, utilidades y Tailwind

Esta es la parte que más conecta con el cambio en mi forma de usar Neovim. La integración del agente convive con utilidades del editor y herramientas para leer estilos:

  • claudecode.nvim: Integra Claude Code con Neovim para compartir contexto del código y revisar los cambios propuestos desde el editor.
  • snacks.nvim: Una colección de utilidades, como terminales y selectores. También sirve de apoyo a la integración de Claude Code.
  • tw-values.nvim: Muestra los valores CSS asociados a las clases de Tailwind de un elemento.

Gestor de plugins, dependencias y tema

Por último, estas son otras piezas de la configuración:

  • plenary.nvim: Una biblioteca de funciones Lua que utilizan varios plugins.
  • lazy.nvim: El gestor para instalar, actualizar y cargar los plugins.
  • onedark.nvim: El tema de colores de la configuración.

La configuración sigue, el uso cambia

Viendo la lista, hay herramientas con funciones que se cruzan: más de una para formato, indicadores de cambios o sesiones. Comparto lo que tengo en mi configuración; no significa que necesites combinar todo esto para usar Neovim.

Lo que más ha cambiado es el peso de cada cosa. Con la IA, buscar, navegar y revisar código ocupa más espacio en mi trabajo. Y para eso sigue siendo útil tener un editor con el que me sienta cómodo.

Si usas alguno de estos plugins o tienes otro que te facilite trabajar con agentes de IA en Neovim, déjalo en los comentarios.

¡Éxitos mejorando tu neovim!

Publicado en las categoría(s):Planetas

Sé el primero en comentar

    Deja un comentario

    Descubre más desde El blog de Skatox

    Suscríbete ahora para seguir leyendo y obtener acceso al archivo completo.

    Seguir leyendo