wandres.dev
Neovim cheatsheet
⌘ REFERENCIA · 136 elementos

Cheatsheet de Neovim

Toda la munición de la guía en un solo sitio. Busca por tecla o por lo que quieres hacer.

🧭 Movimientos 11

Izquierda, abajo, arriba, derechah j k l
Siguiente / anterior / final de palabraw / b / e
Inicio / primer no-blanco / fin de línea0 / ^ / $
Inicio / final del archivogg / G
Párrafo anterior / siguiente{ / }
Media pantalla abajo / arribaCtrl-d / Ctrl-u
Saltar a / justo antes de un carácterf{c} / t{c}
Repetir f/t adelante / atrás; / ,
Saltar al paréntesis/llave que empareja%
Buscar y navegar coincidencias/texto · n / N
Buscar la palabra bajo el cursor*

✏️ Edición (verbos) 11

Entrar en modo Insertar (varios puntos)i a o / I A O
Borrar hasta la mociónd{moción}
Cambiar (borrar + insertar)c{moción}
Copiar (yank)y{moción}
Pegar después / antesp / P
Borrar / copiar / cambiar línea enteradd / yy / cc
Borrar / reemplazar un carácterx / r{c}
Deshacer / rehaceru / Ctrl-r
Repetir la última edición.
Indentar / desindentar / auto-indentar> / < / =
Comentar (nativo, sin plugin)gc{moción}

🎯 Objetos de texto 9

Palabra interior / con espacioiw / aw
Dentro de / con comillasi" / a"
Dentro de / con paréntesisi( / a(
Dentro de / con llavesi{ / a{
Dentro de / con etiqueta HTML/JSXit / at
Párrafo interior / con espacioip / ap
Función (Treesitter, teclas tuyas)if / af
Clase (Treesitter, teclas tuyas)ic / ac
Argumento/parámetro (Treesitter, teclas tuyas)ia / aa

📦 Plegado (folds) 7

Abrir/cerrar el fold bajo el cursorza
Abrir / cerrar explícitamentezo / zc
Abrir todos / cerrar todoszR / zM
Abrir / cerrar un nivel de anidamientozr / zm
Saltar al siguiente / anterior foldzj / zk
Abrir lo justo para ver el cursorzv
Sin esto todo abre plegadofoldlevelstart = 99

🌳 Selección por nodos (nativo) 5

Visual: subir al nodo padrean
Visual: bajar al nodo hijoin
Visual: nodo siguiente / anterior]n / [n
Visual: extender al nodo siguiente / anterior]N / [N
La API que hay debajovim.treesitter.select()

🧠 LSP (atajos nativos) 13

Ir a definiciónCtrl-]
Referenciasgrr
Implementacionesgri
Definición de tipogrt
Renombrar símbologrn
Code actiongra
Símbolos del documentogO
Documentación flotante (hover)K
Insert: ayuda de firmaCtrl-s
Diagnóstico anterior / siguiente[d / ]d
Diagnóstico flotanteCtrl-w d
Gestionar clientes interactivamente:lsp
Diagnosticar el cliente:checkhealth vim.lsp

⚡ Completado 7

Completado automático nativovim.o.autocomplete
Invocar el menú (RESERVADA)Ctrl-Space
Aceptar candidatoCtrl-y
Siguiente / anteriorCtrl-n / Ctrl-p
CancelarCtrl-e
Navegar el menú (RESERVADA)Tab / S-Tab
Omnicompletado del LSPCtrl-x Ctrl-o

🚫 Teclas reservadas 7

Del completado. Nunca a otra cosaCtrl-Space
Del menú de completadoTab
Flash: saltar / saltar a nodo (tapan cl y cc)s / S
Surround: añadir / borrar / cambiargsa / gsd / gsr
Movimientos nativos (no para buffers)H / L
Prefijos de salto entre elementos] / [
Quién se quedó una tecla:verbose map {tecla}

🔎 Buscador (snacks) 7

Buscar archivos<leader>ff
Grep en el proyecto<leader>fg
Buffers abiertos<leader>fb
Archivos recientes<leader>fr
Símbolos del archivo<leader>fs
Explorador de archivos<leader>e
Terminal flotante<leader>tt

🌿 Git 6

Abrir lazygit<leader>gg
Siguiente / anterior hunk]h / [h
Stage hunk<leader>hs
Reset hunk<leader>hr
Previsualizar hunk<leader>hp
Blame de la línea<leader>hb

🐞 Debug (nvim-dap) 5

Toggle breakpoint<leader>db
Continuar / iniciar<leader>dc
Step into<leader>di
Step over<leader>do
Toggle UI de debug<leader>du

🪟 Ventanas y buffers 5

Split horizontal / verticalCtrl-w s / v
Moverse entre splits (y multiplexor)Ctrl-h/j/k/l
Cerrar ventanaCtrl-w q
Buffer siguiente / anterior:bn / :bp
Cerrar buffer:bd

♻️ Macros y registros 7

Grabar macro en el registro aqa … q
Reproducir macro a / la última@a / @@
Reproducir 10 veces10@a
Copiar/pegar usando el registro a"ayy / "ap
Pegar el último yank (no pisado por delete)"0p
Copiar/pegar del portapapeles del sistema"+y / "+p
Ver todos los registros:registers

⌨️ Comandos Ex y masa 8

Guardar / salir / ambos / forzar salida:w :q :wq :q!
Reemplazar en todo el archivo:%s/a/b/g
Ejecutar cmd en cada línea que coincide:g/patrón/cmd
Aplicar macro a las líneas que coinciden:g/patrón/normal @a
Abrir quickfix / ejecutar cmd en cada entrada:copen / :cdo
Poner marca / saltar a marcam{c} · `{c}
Gestor de plugins / de herramientas:Lazy / :Mason
Diagnóstico de la instalación:checkhealth

🪟 Buffers, ventanas y tabs 6

Listar buffers / saltar a uno:ls · :b {nombre}
Buffer siguiente / anterior / alterno:bn · :bp · <C-^>
Split horizontal / vertical<C-w>s · <C-w>v
Solo esta ventana / igualar tamaños<C-w>o · <C-w>=
Mover la ventana a un borde<C-w>H/J/K/L
Nueva pestaña / cambiar de pestaña:tabnew · gt / gT

🗂️ Folds (plegado) 5

Alterna el fold bajo el cursorza
Abrir / cerrar el foldzo / zc
Abrir todos / cerrar todoszR / zM
Saltar al siguiente / anterior foldzj / zk
Abrir lo justo para ver el cursorzv

🚑 Quickfix 5

Buscar en el proyecto → quickfix:grep patrón
Abrir / cerrar la lista:copen / :cclose
Entrada siguiente / anterior]q / [q
Ejecutar en cada entrada y guardar:cdo cmd | update
Ejecutar una vez por archivo:cfdo cmd

📍 Saltos, marcas y deshacer 6

Poner marca / saltar a marca (exacta)m{x} · `{x}
Marcas MAYÚSCULAS: cruzan archivosmA … `A
Jumplist: atrás / adelante<C-o> / <C-i>
Changelist: cambio anterior / siguienteg; / g,
Viajar por el árbol de deshacerg- / g+
Volver al estado de hace 10 min:earlier 10m

🔮 Búsqueda avanzada 6

Very magic: regex sin tanto escape/\v …
Marca inicio / fin real de la coincidencia\zs · \ze
Buscar la palabra bajo el cursor* / #
Cambiar coincidencia, repetir o saltarcgn → . / n
Reemplazo con grupos de captura:%s/\v(a)(b)/\2\1/
Reemplazo con confirmación:%s/a/b/gc