Guías
Terminal Actualizado el 6 de noviembre de 2026

LazyVim

Atajos y configuración de LazyVim para full-stack y DevOps: movimiento, búsqueda, LSP, Angular, Tailwind, Git y asistentes de IA.

  • #lazyvim
  • #neovim
  • #vim
  • #atajos
  • #lsp

Movimiento y navegación

AcciónAtajo
Moverse un carácterh j k l
Palabra siguiente / anteriorw / b
Fin de la palabra actuale
Inicio / fin de línea0 o ^ / $
Inicio / fin del archivogg / G
Ir a la línea N (ej. 42G)NG
Media página arriba / abajoCtrl+u / Ctrl+d
Párrafo anterior / siguiente{ / }
Ir al par ( ) [ ] { } < >%
Saltador ultra rápido (Flash): s y 2 letrass

Explorador de archivos (Neo-tree)

AcciónAtajo
Abrir / cerrar el explorador<leader>e
Enfocar el archivo actual en el árbol<leader>fE

Dentro de Neo-tree:

AcciónAtajo
Crear archivo o carpeta (si termina en /, crea una carpeta)a
Eliminar archivo o carpetad
Renombrar / moverr / m
Copiar / cortar / pegarc / x / p
Ver archivos ocultos (.env, etc.)H o i
Ver archivos ignorados (.gitignore)I o g
Abrir en split horizontal / verticals / v

Búsqueda y Live Grep

AcciónAtajo
Buscar archivos por nombre<leader>Espacio
Buscar texto en el proyecto (Live Grep)<leader>/ o <leader>sg
Buscar texto en el buffer actual<leader>sb
Buscar la palabra bajo el cursor<leader>sw
Buscar en archivos recientes<leader>fr
Buscar símbolos y funciones<leader>ss
Buscar en el historial de commits<leader>gc
Buscar comandos y keymaps<leader>sk
Buscar la palabra actual en el archivo* (adelante) / # (atrás)

Buffers, splits y tabs

AcciónAtajo
Navegar entre buffers abiertosShift+h / Shift+l
Cerrar el buffer actual<leader>bd
Fijar (pin) un buffer importante<leader>bp
Cerrar todos los buffers no fijados<leader>bP
Split horizontal<leader>w-
Split vertical<leader>w|
Moverse entre ventanasCtrl+h/j/k/l
Cerrar la ventana actual<leader>wd
Maximizar / restaurar la ventana<leader>wm

LSP y navegación de código

AcciónAtajo
Ir a la definición (función o clase)gd
Buscar todas las referenciasgr
Ir a la implementacióngI
Ir a la definición de tipogy
Ver documentación y firma (hover)K
Renombrar un símbolo en todo el proyecto<leader>cr
Formatear el documento actual<leader>cf
Volver a la posición previaCtrl+o
Avanzar a la posición siguienteCtrl+i

Errores y acciones de código (Trouble)

AcciónAtajo
Ver las acciones disponibles (code actions)<leader>ca
Ver el detalle del error en la línea actual<leader>cd
Siguiente diagnóstico / error]d / ]e
Anterior diagnóstico / error[d / [e
Abrir la lista completa de errores<leader>xx
Abrir los errores del buffer actual<leader>xX
Ver la lista de TODO, BUG, HACK<leader>st

Frontend, Angular y Tailwind

AcciónAtajo
Saltar del componente TS a su template HTML (con el cursor sobre templateUrl)gd
Ir a la etiqueta HTML de cierre (con el cursor sobre <div>)%
Cambiar el contenido dentro de una etiquetacit (change inner tag)
Borrar la etiqueta completa y conservar el contenidodat
Autocompletado de Tailwind CSS con vista previa de colorCtrl+Espacio / Tab
Formatear HTML, CSS y Angular con Prettier<leader>cf

El autocierre y el autorenombrado de etiquetas HTML funcionan solos con el plugin nvim-ts-autotag.

Terminal, Bash y Git

AcciónAtajo
Abrir la terminal flotante<leader>ft o Ctrl+/
Ocultar la terminal flotanteEscEsc o Ctrl+/
Abrir LazyGit (interfaz interactiva de Git)<leader>gg

Bash sin salir de Neovim:

AcciónComando
Ejecutar un comando
Ejemplo: listar archivos ocultos
Insertar la salida de un comando en el archivo
Filtrar una selección con un comando (ej. jq)

Markdown

El renderizado dentro del buffer viene activado en LazyVim con render-markdown.

AcciónAtajo o comando
Alternar el renderizado de Markdown
Previsualizar en el navegador
Atajo para la previsualización en el navegador<leader>cp
Marcar o desmarcar un checkbox [ ] (sobre la línea)Espacio

Activar módulos con :LazyExtras

LazyVim trae módulos preconfigurados para Angular, Tailwind CSS, Prettier, Python, TypeScript, Docker, Terraform, YAML e IA. Ejecuta :LazyExtras en Neovim y presiona x sobre cada paquete que quieras instalar:

MóduloQué incluye
lang.angularAngular Language Service (LSP)
lang.tailwindcssTailwind LSP y colorizer para el autocompletado
formatting.prettierFormateador para HTML, CSS, JS/TS y Angular
lang.pythonPyright, Ruff, Debugpy y VirtualEnv
lang.typescriptVtsls (TS/JS) y ESLint
lang.docker y lang.terraformDockerfiles, Compose y HCL LSP
ai.avanteAsistente de IA nativo, estilo Cursor
ai.claudecodeClaude Code (la vía recomendada)

Flujo de trabajo con Angular

Con lang.angular activo, la lógica en TypeScript y la plantilla HTML quedan conectadas:

  • Pon el cursor sobre templateUrl: './app.component.html' y presiona g d para saltar al HTML.
  • Las plantillas autocompletan variables del componente, pipes y directivas de Angular (*ngIf, @for).

Tailwind CSS y HTML

  • Sugerencias de clases de Tailwind con vista previa del color al escribir dentro de class="...".
  • Prettier formatea al guardar. También puedes usar <leader> c f o guardar con Ctrl + s.

Configuración Lua del stack

Guarda este archivo en ~/.config/nvim/lua/plugins/stack_config.lua:

lua · neovim
return {
  -- 1. Python & FastAPI: VirtualEnv selector
  {
    "linux-cultist/venv-selector.nvim",
    dependencies = { "neovim/nvim-lspconfig", "nvim-telescope/telescope.nvim" },
    opts = { name = { "venv", ".venv", "env", ".env" }, auto_refresh = true },
    keys = {
      { "<leader>cv", "<cmd>VenvSelect<cr>", desc = "Select VirtualEnv (Python)" },
    },
  },

  -- 2. HTML / Angular: auto close and rename tags
  {
    "windwp/nvim-ts-autotag",
    opts = {
      opts = {
        enable_close = true,
        enable_rename = true,
        enable_close_on_slash = true,
      },
    },
  },

  -- 3. Tailwind CSS & CSS: show colors inline in the buffer
  {
    "roobert/tailwindcss-colorizer-cmp.nvim",
    opts = { color_square_width = 2 },
  },

  -- 4. Markdown preview in the web browser
  {
    "iamcco/markdown-preview.nvim",
    cmd = { "MarkdownPreviewToggle", "MarkdownPreview", "MarkdownPreviewStop" },
    ft = { "markdown" },
    build = function() vim.fn["mkdp#util#install"]() end,
    keys = {
      { "<leader>cp", "<cmd>MarkdownPreviewToggle<cr>", desc = "Markdown Preview Web" },
    },
  },

  -- 5. AI assistant (Avante.nvim, Cursor style)
  {
    "yetone/avante.nvim",
    event = "VeryLazy",
    opts = { provider = "copilot" },
  },
}

Kiro CLI en LazyVim (kiro.nvim)

Puedes invocar los CLIs de IA sin salir del editor, montándolos como plugins de lazy.nvim con su propio atajo.

AcciónAtajo o comando
Abrir / cerrar Kiro CLI<leader>tk
Comando equivalente del plugin
Cargar el plugin manualmente
Salir del modo insertar de la terminalCtrl+\ Ctrl+n
Volver al modo insertar (escribirle a Kiro)i / a
Moverse entre ventanas (código y Kiro)Ctrl+h/j/k/l

Instalación

Crea ~/.config/nvim/lua/plugins/kiro.lua:

lua · neovim
return {
  {
    'srirammv/kiro.nvim',
    config = function()
      require('kiro').setup()
    end,
    keys = {
      { '<leader>tk', '<cmd>KiroToggle<cr>', desc = 'Toggle Kiro CLI' },
    },
  }
}
  1. Guarda el archivo y reinicia Neovim, o ejecuta :Lazy sync para que lazy.nvim descargue el plugin.
  2. Verifica el estado del plugin con :Lazy.
  3. Presiona <leader> t k para alternar la interfaz de Kiro CLI.

Requisito de tmux: esta integración usa tmux, así que debes correr Neovim dentro de una sesión.

bash
tmux new -s dev
nvim .

Alternativa sin tmux: lanza el binario kiro con toggleterm.nvim y mapea el mismo atajo <leader> t k.

Claude Code en LazyVim (claudecode.nvim)

AcciónAtajo o comando
Enfocar o abrir la sesión de Claude<leader>af
Adjuntar el buffer actual al contexto<leader>ab
Enviar la selección (modo visual)<leader>as
Seleccionar el modelo de Claude<leader>am
Enfocar la sesión activa
Iniciar una sesión nueva
Enviar texto o selección
Agregar un archivo al contexto

Vía recomendada: extra oficial

  1. Abre Neovim y ejecuta :LazyExtras.
  2. Baja hasta la sección ai.
  3. Selecciona claudecode y presiona x.
  4. Reinicia Neovim para que lazy.nvim instale el plugin.

Antes de abrir Neovim, instala y autentica el CLI de Claude Code, y comprueba que el comando claude (o claude-code) funciona en tu shell:

bash
which claude
claude --version

Configuración manual

Crea ~/.config/nvim/lua/plugins/claudecode.lua:

lua · neovim
return {
  {
    "coder/claudecode.nvim", -- Official wrapper of the Claude Code IDE extension
    dependencies = {
      "nvim-lua/plenary.nvim",
      "ibhagwan/fzf-lua", -- Optional: file pickers and session switching
    },
    cmd = { "ClaudeCodeFocus", "ClaudeCodeNew", "ClaudeCodeSend" },
    keys = {
      { "<leader>af", "<cmd>ClaudeCodeFocus<cr>",       desc = "Focus Claude Code" },
      { "<leader>ab", "<cmd>ClaudeCodeAdd %<cr>",      desc = "Add Buffer to Claude" },
      { "<leader>as", ":ClaudeCodeSend<cr>", mode = "v", desc = "Send Selection to Claude" },
      { "<leader>am", "<cmd>ClaudeCodeSelectModel<cr>", desc = "Select Claude Model" },
    },
    opts = {
      -- Custom plugin overrides here
    },
  }
}

Usa solo una de las dos vías. Si ya activaste ai.claudecode en :LazyExtras, este archivo solo sirve para sobrescribir atajos u opts.