Avante.nvim: un asistente de IA dentro de Neovim

Hace tiempo que alterno entre Kate y Neovim. Son mis editores de texto principales y han desplazado a Emacs, que de vez en cuando lo desempolvo y lo utilizo (no hay nada más potente que Emacs). A Nvim lo uso para escribir posts del blog, notas en el Zettelkasten, weekies (notas semanales) y cualquier texto que necesite algo más que un bloc de notas. Con el tiempo fui armando una configuración bastante personalizada: Telekasten para las notas, Telescope para buscar, Treesitter para el resaltado de sintaxis. Con esto y algunas cosas más, funciona como necesito.

En los tiempos que corren, la pregunta que surge casi siempre y casi para cualquier cosas es: " - ¿Pero eso no tiene IA integrada?". Y no, Neovim no tiene IA integrada… Hasta ahora. Sí, se puede abrir una pestaña del navegador y consultar ChatGPT o Claude, pero eso implica tener que salir del flujo de trabajo, copiar el texto, pegar la respuesta, volver al editor. Demasiados pasos para algo que un geek de pura sangre espera que sea inmediato.

Existen algunas soluciones, y en esta ocasión hablaré de avante.nvim.

Qué es avante.nvim

Avante.nvim es un plugin para Neovim que replica la experiencia de Cursor AI IDE directamente en el editor. La idea es poder tener un panel lateral donde “chatear” con un modelo de lenguaje, pedirle que edite texto seleccionado, que explique algo, que corrija, que reescriba. Todo sin salir de Neovim.

Soporta múltiples proveedores de IA: Claude (Anthropic), GPT (OpenAI), Gemini (Google), modelos locales vía Ollama y más. Yo lo configuré con Claude porque leí por ahí que es el que mejor resultados da para escritura en español.

Instalación

Uso lazy.nvim como gestor de plugins. La instalación se agrega, en mi caso, en ~/.config/nvim/lua/plugins.lua:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
{
  "yetone/avante.nvim",
  event = "VeryLazy",
  build = "make",
  dependencies = {
    "nvim-treesitter/nvim-treesitter",
    "nvim-lua/plenary.nvim",
    "MunifTanjim/nui.nvim",
    "nvim-tree/nvim-web-devicons",
  },
  opts = {
    provider = "claude",
    providers = {
      claude = {
        model = "claude-sonnet-4-5",
      },
    },
  },
},

El build = "make" compila un binario nativo en Rust que se encarga del renderizado de templates. Es un paso necesario y se ejecuta automáticamente la primera vez.

Configurar la API key

Avante necesita acceso a la API de Claude. Hay que exportar la variable de entorno con la key antes de abrir Neovim. Lo más práctico es agregarlo al .bashrc o .zshrc:

1
export ANTHROPIC_API_KEY="tu-api-key-aquí"

La key se obtiene desde console.anthropic.com. La API no tiene plan gratuito, pero funciona por uso: para escritura y consultas ocasionales, el consumo es muy bajo, pero con letra chica, como comento más abajo.

Uso en el día a día

Una vez instalado, avante funciona con unos pocos atajos principales.

Abrir el panel de chat con SPC a a.
Se abre un sidebar a la derecha del buffer actual. El modelo ya tiene como contexto el contenido completo del archivo que estás editando, así que podés preguntarle cosas sobre lo que estás escribiendo directamente.

Editar texto seleccionado con SPC a e en modo visual.
Seleccionás un párrafo, presionás el atajo, escribís la instrucción (“reescribí esto de forma más concisa”, “corregí el español”, “cambiá el tono a informal”) y avante propone los cambios en una vista de diff. Podés aceptar todo con c a, rechazar con c r, o elegir cambio por cambio.

Toggle del sidebar con SPC a t para mostrarlo u ocultarlo sin perder la conversación.

Avante funcionando en modo legacy

El archivo avante.md

Una de las funcionalidades que más me llamó la atención es el soporte para “instrucciones persistentes por proyecto”: Si creás un archivo avante.md en la raíz de tu proyecto, el modelo lo lee automáticamente y lo usa como contexto en todas las conversaciones.

Por ejemplo, en mi carpeta de notas tengo:

1
2
3
Sos un asistente de escritura para notas personales y un blog de tecnología.
El tono es informal pero técnico, en español.
Cuando corrijas ortografía, no cambies el estilo ni la voz del texto.

Y en la carpeta del blog:

1
2
3
4
Sos un asistente para el blog milanga.
Los posts van dirigidos a usuarios de Linux con conocimiento intermedio y alto.
Usá ejemplos concretos y comandos reales cuando sea posible.
Respondé siempre en español.

Cada proyecto puede tener sus propias instrucciones. Avante las detecta automáticamente según el directorio de trabajo.

Modos de operación

Avante tiene dos modos principales:

Modo agente (por defecto): el modelo puede ejecutar herramientas de forma autónoma: leer archivos, buscar en el proyecto, hacer modificaciones. Es el más potente y el recomendado para uso general. Es el que llamo “Modo Cursor AI” pero también es que puede desbocar el consumo de tokens.

Modo legacy: el modelo solo responde preguntas, sin ejecutar acciones por su cuenta. Más predecible y adecuado si querés control total sobre qué se modifica. Consume muy pocos tokens.

Para escritura creativa el modo agente permite pedirle cosas como “revisá todos los títulos de sección y sugerí alternativas” y lo hace solo. SOLO. Es decir, VA Y EDITA EL TEXTO DIRECTAMENTE.

Avante.nvim
Avante -modo legacy- en Neovim

Prompts que uso frecuentemente

Después de un tiempo usando avante, estos son los prompts que suelo utilizar:

  • “Corregí ortografía y gramática sin cambiar mi estilo”
  • “Reescribí este párrafo de forma más concisa”
  • “Este texto suena muy formal, hacelo más natural”
  • “Sugerí tres títulos alternativos para este post”
  • “Revisá el frontmatter YAML, ¿está completo y bien formateado?”
  • “Hacé un resumen de esta nota en tres puntos”
  • "¿Qué le falta a este borrador para estar terminado?"

El costo de todo esto en $$$$

Según Claude, los tokens aproximados a consumir por operación sobre un artículo de 500-1000 palabras: Un artículo de esa longitud son aproximadamente 700-1400 tokens de contenido. A eso se suma el prompt del sistema de avante y tu instrucción.

Operación Input tokens Output tokens Total aprox.
Corrección ortográfica ~2000 ~1500 ~3500
Sugerencias de estilo ~2000 ~800 ~2800
Reescribir un párrafo ~2000 ~400 ~2400
Consulta puntual ~2000 ~300 ~2300

El input siempre es alto porque avante manda el archivo completo como contexto en cada request.

Costo con claude-sonnet-4-5:

Input: $3 por millón de tokens Output: $15 por millón de tokens

Una sesión típica de revisión completa de un artículo (3-4 operaciones) consume unos 10.000-15.000 tokens en total, lo que equivale a aproximadamente $0.05 - $0.08 USD por artículo.

Con $5 de crédito tendrías para revisar entre 60 y 100 artículos.

En mi caso, solo pude trabajar sobre 3 o 4 artículos. El crédito se esfumó. Paso a explicar la letra chica:

Por defecto avante corre en modo agente, donde Claude no solo responde sino que ejecuta herramientas en bucle: lee archivos, explora el proyecto, hace múltiples llamadas internas antes de darte una respuesta. Cada uno de esos pasos consume tokens. Una sola pregunta puede traducirse en 5-10 llamadas a la API internamente.

Para escritura esto no es del todo necesario y se puede desactivar en la configuración del plugin, pasando a modo legacy:

1
2
3
4
5
6
7
8
9
opts = {
  provider = "claude",
  providers = {
    claude = {
      model = "claude-sonnet-4-5",
    },
  },
  mode = "legacy",  -- Esta opción desactiva el modo agente!!
},

Modo Agente vs Modo Legacy

Característica Modo Agente Modo Legacy
Autonomía Ejecuta herramientas automáticamente Solo responde preguntas
Acceso a archivos Puede leer/modificar archivos del proyecto Solo ve el buffer actual
Consumo de tokens Alto (5-10x más) Bajo
Costo por consulta $0.02 - $0.10 USD $0.002 - $0.01 USD
Control del usuario Medio (actúa por su cuenta) Total (solo sugiere)
Velocidad de respuesta Más lenta (múltiples llamadas API) Más rápida (una sola llamada)
Búsqueda en proyecto Sí, automática No
Edición directa Sí, sin confirmación No, solo sugerencias
Ideal para Refactoring, análisis de código Escritura, consultas puntuales
Predictibilidad Baja (puede hacer cambios inesperados) Alta (solo responde)

Otra limitaciones

  • Requiere conexión a internet, a menos que se configure un LLM tipo Ollama en local (ya es otra historia).
  • Los datos se envían a servidores externos, lo que compromete la privacidad.

Alternativas a avante.nvim

Estas son algunas alternativas que encontré (pero no utilicé):

copilot.vim / copilot.lua
El plugin oficial de GitHub Copilot. Autocompletado inteligente mientras escribís código. Requiere suscripción de pago ($10/mes), pero es gratis para estudiantes y mantenedores de proyectos open source. Más orientado a código que a escritura.

codeium.nvim
Alternativa gratuita a Copilot. Autocompletado en tiempo real con soporte para múltiples lenguajes. No requiere API key de pago, solo registro. Menos preciso que Copilot pero totalmente gratis.

ChatGPT.nvim
Plugin para interactuar con ChatGPT directamente desde Neovim. Tiene un panel de chat flotante, puede editar código seleccionado y ejecutar acciones predefinidas. Requiere API key de OpenAI.

gp.nvim
Plugin minimalista para Chat GPT con enfoque en simplicidad. Soporta tanto Chat GPT como Claude. Permite definir “agentes” con diferentes personalidades/instrucciones.

codecompanion.nvim
Similar a Avante. Soporta múltiples proveedores (OpenAI, Anthropic, Ollama). Tiene modo inline para ediciones rápidas y chat sidebar.

neoai.nvim
Plugin simple para OpenAI.

gen.nvim
Plugin para usar Ollama localmente. Totalmente offline, privado y gratuito. Requiere tener Ollama instalado y modelos descargados.

llm.nvim
Plugin de HuggingFace para usar modelos locales. Soporta autocompletado con modelos open source. Requiere hardware decente (GPU recomendada). Configuración más compleja pero totalmente libre.

neural
Plugin minimalista para ChatGPT con enfoque en escritura y generación de texto. Muy liviano, sin dependencias pesadas. Bueno para uso ocasional.

vim-ai
Soporta OpenAI y modelos locales vía Ollama. Comandos simples para completar texto, hacer preguntas, editar selecciones. Configuración mínima.

Conclusión

Avante convirtió a Neovim en algo más cercano a un entorno de escritura asistida que a un editor de texto. La IA está disponible cuando la necesito, integrada en el flujo de trabajo, sin ventanas extras ni copiar y pegar.

Si ya usás Neovim y te interesa incorporar IA sin cambiar de editor, avante es la opción más completa que encontré. La configuración inicial lleva media hora y después funciona de forma muy transparente.

¿Vale la pena Avante o seguimos copiando y pegando?

 


¡Deja tus comentarios aquí !

 

 

Dame feedback!