668 - Inteligencia Artificial en Neovim

668 - Inteligencia Artificial en Neovim

Te traigo varios plugins para #neovim con los que sacar el máximo partido posible a la inteligencia artificial tanto para el auto completado como para chatear

1:25
-3:15

Hace ya varios meses que estoy utilizando la IA en Neovim al igual que en Obsidian. En Neovim, básicamente la estoy utilizando para acelerar el desarrollo con el auto completado. En concreto, actualmente estoy utilizando tres plugins para Neovim que me facilitan esto. Pero como te puedes imaginar, estos tres plugins no son mas que la punta del iceberg de una gran cantidad de plugins de IA que se han desarrollado. Llegados a este punto, al igual que sucede con la mayoría de herramientas que permiten complementos, el problema es saber que plugin escoger de todos los que existen. En este episodio te cuento los plugin para IA en Neovim que estoy utilizando, así como otras opciones, algunas que no he probado y otras que si.

Inteligencia Artificial en Neovim

La maravilla del Open Source

Me encanta el Open Source, pero tiene sus riesgos, y el otro día me tropecé con uno de ellos. Resulta que hasta hace relativamente poco estaba utilizando feline como barra de estado para Neovim.

Al actualizar los plugin de Neovim ayer me encontré que el de feline no se actualizaba. Pensé inicialmente que se trataba de un problema de incompatibilidad con mi configuración o algún problema de estos. Sin embargo, esto no es así, simplemente la persona que mantenía este proyecto la había directamente eliminado. Un verdadero fastidio, por que la verdad me encontraba realmente cómodo con esta barra de estado.

No tengo ni idea cuales son las razones que han llevado al desarrollador, a quitarlo, sus razones tendrá. La cuestión es que esto es lo que puede suceder con herramientas de Open Source, que el mantenedor, por algún tipo de razón decida cancelar un proyecto. Y esto que feline ya era un fork de la versión inicial. Finalmente me he decantado por lualine que m está resolviendo perfectamente la papeleta.

De cualquier forma no hay mal que por bien no venga. Buscando en el perfil del desarrollador algo de información sobre que había pasado con este repo, he visto que ha sacado un libro sobre Rust disponible para todo el mundo, y que a primera vista tiene muy buena pinta Fast Track to Rust. Se trata de un curso diseñado como introducción a Rust implementado una herramienta similar al conocido grep.

Sobre este episodio

Este episodio está basado en una charla llamada AI in Neovim (NeovimConf 2024) de Josh Medeski, donde se recoge la información que te voy a contar en este episodio, aunque con algunos cambios. Los cambios que he introducido respecto a la conferencia de Josh, son relativos a los complementos que estoy utilizando, que no son los mismos que los de Josh, y que con toda seguridad no serán iguales que los tuyos.

¿Que plugins escoger?

Está estructurado en tres partes, al igual que la conferencia de Josh. La primera parte se refiere al auto completado o completado de código. La segunda parte hace referencia a la posibilidad de chatear directamente desde Neovim, y que normalmente utiliza los buffer como contexto. La última parte hace referencia a la generación de código.

Completado de código

El autocompletado de código es una función en la que el editor sugiere completaciones para la palabra o símbolo actual. Esto puede ayudar a escribir código más rápido y con menos errores. Hay muchos plugins disponibles para el autocompletado en Neovim.

En mi caso estoy utilizando dos que son del mismo desarrollador,

  • Mi elección,
    • zbirenbaum/copilot.lua (🔭 3,000) junto con zbirenbaum/copilot-cmp (🔭 1,200). La razón de utilizar este en lugar del oficial es sobre todo la posibilidad de utilizar cmp y la mejor integración con Neovim.
  • Alternativas,
    • github/copilot.vim – Plugin de Neovim para GitHub Copilot (🔭 9,006)
    • codota/tabnine-nvim – Cliente de Tabnine para Neovim (🔭 374)
    • Exafunction/codeium.nvim – Extensión nativa de Neovim para Codeium (🔭 877)
    • milanglacier/minuet-ai.nvim – 💃 Baila con la inteligencia en tu código. Minuet AI ofrece autocompletado con IA a partir de modelos populares como OpenAI, Gemini, Claude y más. (🔭 158)

Chat

El chat con IA en el editor es una función que te permite conversar con un asistente de IA directamente en Neovim. Esto puede ser útil para generar fragmentos de código, escribir documentación o simplemente tener una conversación.

  • Mi elección,
    • olimorris/codecompanion.nvim (🔭 2,100)
  • Alternativas:
    • CopilotC-Nvim/CopilotChat.nvim – Chatea con GitHub Copilot en Neovim (🔭 2,001)
    • yetone/avante.nvim – ¡Usa tu Neovim como si fuera Cursor AI IDE! (🔭 8,673)
    • jackMort/ChatGPT.nvim – Plugin de ChatGPT para Neovim: generación de lenguaje natural sin esfuerzo con la API de OpenAI (🔭 3,858)

Generación

La generación de código con IA es una función que permite crear fragmentos de código utilizando modelos de inteligencia artificial. Esto puede ayudar a escribir código más rápido y con menos errores.

  • Mi elección,
    • Robitx/gp.nvim – Plugin de Neovim para GPT prompt: sesiones de ChatGPT, operaciones de texto/código con instrucciones y conversión de voz a texto [Compatible con OpenAI, Ollama, Anthropic y más]. (🔭 987)
  • Alternativas:
    • David-Kunz/gen.nvim – Plugin de Neovim para generar texto usando LLMs con prompts personalizables (🔭 1,305)
    • gsuuon/model.nvim – Plugin de Neovim para interactuar con modelos LLM y crear prompts integrados en el editor (🔭 343)

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *