General
Guardar Archivo
Categoría: General
:w
Guarda los cambios en el archivo actual.
Salir de Neovim
Categoría: General
:q
Cierra la ventana actual o Neovim si es la última ventana.
Guardar y Salir
Categoría: General
:wq
Guarda los cambios y luego cierra la ventana/Neovim.
Forzar Salida sin Guardar
Categoría: General
:q!
Cierra la ventana/Neovim sin guardar los cambios.
Guardar todo y Salir
Categoría: General
:x
Guarda el archivo solo si hay cambios y sale.
Forzar Guardar y Salir
Categoría: General
ZZ
Equivalente a :wq (guardar y salir).
Forzar Salir sin Guardar
Categoría: General
ZQ
Equivalente a :q! (salir sin guardar).
Abrir terminal
Categoría: General
:terminal o :term
Abre una terminal dentro de Neovim en el buffer actual. Usa <C-\><C-n> para volver a modo normal.
Movimiento Básico
Mover cursor a la izquierda
Categoría: Movimiento
h
Mueve el cursor un carácter a la izquierda.
Mover cursor abajo
Categoría: Movimiento
j
Mueve el cursor una línea hacia abajo.
Mover cursor arriba
Categoría: Movimiento
k
Mueve el cursor una línea hacia arriba.
Mover cursor a la derecha
Categoría: Movimiento
l
Mueve el cursor un carácter a la derecha.
Inicio de línea (primer caracter no-blanco)
Categoría: Movimiento
^
Mueve el cursor al primer carácter no-blanco de la línea actual.
Inicio de línea (columna 0)
Categoría: Movimiento
0
Mueve el cursor al inicio absoluto de la línea (columna 0).
Fin de línea
Categoría: Movimiento
$
Mueve el cursor al final de la línea actual.
Siguiente palabra
Categoría: Movimiento
w
Mueve el cursor al inicio de la siguiente palabra.
Fin de palabra
Categoría: Movimiento
e
Mueve el cursor al final de la palabra actual.
Palabra anterior
Categoría: Movimiento
b
Mueve el cursor al inicio de la palabra anterior.
Ir a línea (modo comando)
Categoría: Movimiento
:N
Va a la línea número N (ej. :100 para ir a la línea 100).
Ir a línea (normal mode)
Categoría: Movimiento
NGG o GN
Va a la línea número N (ej. 100gg o g100).
Desplazarse media página abajo
Categoría: Movimiento
Ctrl-d
Desplaza la vista media página hacia abajo.
Desplazarse media página arriba
Categoría: Movimiento
Ctrl-u
Desplaza la vista media página hacia arriba.
Desplazarse una página abajo
Categoría: Movimiento
Ctrl-f
Desplaza la vista una página completa hacia abajo.
Desplazarse una página arriba
Categoría: Movimiento
Ctrl-b
Desplaza la vista una página completa hacia arriba.
Ir al inicio del archivo
Categoría: Movimiento
gg
Mueve el cursor al inicio del archivo.
Ir al final del archivo
Categoría: Movimiento
G
Mueve el cursor al final del archivo.
Ir a carácter en la línea
Categoría: Movimiento
f{char} / F{char}
Salta al siguiente/anterior carácter {char} en la línea. Ej: fa va a la próxima 'a'.
Ir hasta carácter en la línea
Categoría: Movimiento
t{char} / T{char}
Salta hasta justo antes/después del carácter {char} en la línea. Útil con operadores como dt).
Repetir salto f/t
Categoría: Movimiento
; / ,
; repite el último f/t hacia adelante. , lo repite en dirección opuesta.
Ir al par (paréntesis/llave/corchete)
Categoría: Movimiento
%
Salta al paréntesis, llave o corchete que hace par con el que está bajo el cursor.
Buscar palabra bajo el cursor
Categoría: Movimiento
* / #
* busca la siguiente ocurrencia de la palabra bajo el cursor. # busca la anterior.
Establecer marca
Categoría: Movimiento
m{a-zA-Z}
Establece una marca en la posición actual. Letras minúsculas son locales al buffer, mayúsculas son globales.
Ir a marca
Categoría: Movimiento
'{marca} / `{marca}
'a va a la línea de la marca. `a va a la posición exacta. '' vuelve a la posición anterior.
Siguiente/Anterior párrafo
Categoría: Movimiento
} / {
Salta al siguiente/anterior bloque de texto separado por líneas en blanco.
Edición Básica & Cortar/Pegar
Modo Insertar (antes del cursor)
Categoría: Edición
i
Entra en modo insertar antes del cursor.
Modo Insertar (al final de la línea)
Categoría: Edición
A
Entra en modo insertar al final de la línea actual.
Modo Insertar (inicio de línea)
Categoría: Edición
I
Entra en modo insertar al primer caracter no-blanco de la línea.
Modo Insertar (después del cursor)
Categoría: Edición
a
Entra en modo insertar después del cursor.
Nueva línea abajo
Categoría: Edición
o
Inserta una nueva línea debajo de la actual y entra en modo insertar.
Nueva línea arriba
Categoría: Edición
O
Inserta una nueva línea encima de la actual y entra en modo insertar.
Borrar carácter
Categoría: Edición
x
Borra el carácter bajo el cursor.
Borrar línea
Categoría: Edición
dd
Borra la línea actual y la guarda en el registro predeterminado (corta).
Borrar palabra
Categoría: Edición
dw
Borra desde el cursor hasta el final de la palabra.
Cambiar línea
Categoría: Edición
cc
Borra la línea actual y entra en modo insertar.
Cambiar palabra
Categoría: Edición
cw
Borra desde el cursor hasta el final de la palabra y entra en modo insertar.
Pegar después
Categoría: Edición
p
Pega el contenido del registro después del cursor.
Pegar antes
Categoría: Edición
P
Pega el contenido del registro antes del cursor.
Copiar línea
Categoría: Edición
yy
Copia la línea actual al registro predeterminado.
Deshacer
Categoría: Edición
u
Deshace la última acción.
Rehacer
Categoría: Edición
Ctrl-r
Rehace la última acción deshecha.
Seleccionar carácter (Modo Visual)
Categoría: Edición
v
Entra en modo visual para seleccionar caracteres.
Seleccionar línea (Modo Visual de Línea)
Categoría: Edición
V
Entra en modo visual para seleccionar líneas completas.
Seleccionar bloque (Modo Visual de Bloque)
Categoría: Edición
Ctrl-v
Entra en modo visual para seleccionar bloques rectangulares.
Seleccionar todo el archivo
Categoría: Edición
ggVG
Selecciona todo el contenido del archivo.
Repetir última acción
Categoría: Edición
.
Repite el último comando de edición. Uno de los comandos más poderosos de Vim.
Unir líneas
Categoría: Edición
J
Une la línea actual con la siguiente, eliminando el salto de línea.
Reemplazar carácter
Categoría: Edición
r{char}
Reemplaza el carácter bajo el cursor por {char} sin entrar en modo insertar.
Indentar / Des-indentar
Categoría: Edición
>> / <<
Indenta o des-indenta la línea actual. En modo visual, > y < para la selección.
Auto-indentar
Categoría: Edición
= / ==
== auto-indenta la línea actual. gg=G auto-indenta todo el archivo.
Text Objects: dentro de
Categoría: Edición
ci" / di( / yi{ / vi[
Cambiar/borrar/copiar/seleccionar dentro de comillas, paréntesis, llaves, corchetes. Ej: ci" cambia el texto dentro de las comillas.
Text Objects: alrededor de
Categoría: Edición
ca" / da( / ya{ / va[
Cambiar/borrar/copiar/seleccionar incluyendo los delimitadores. Ej: da( borra todo incluyendo los paréntesis.
Text Objects: palabra
Categoría: Edición
ciw / diw / yiw / viw
Opera sobre la palabra completa bajo el cursor. ciw cambia toda la palabra, caw incluye el espacio.
Grabar macro
Categoría: Edición
q{a-z} ... q
Graba una secuencia de comandos en el registro {a-z}. Presiona q para detener. Ejecuta con @a. Repite con @@.
Cambiar mayúsculas/minúsculas
Categoría: Edición
~ / gU / gu
~ alterna el caso. gUiw pasa a mayúsculas. guiw pasa a minúsculas.
Borrar hasta el final de línea
Categoría: Edición
D / C
D borra desde el cursor hasta el final de la línea. C lo mismo pero entra en modo insertar.
Pegar desde clipboard del sistema
Categoría: Edición
"+p / "+y
"+y copia al clipboard del sistema. "+p pega desde el clipboard del sistema.
Ventanas & Buffers
Dividir ventana horizontalmente
Categoría: Ventanas & Buffers
:sp o :split
Divide la ventana actual horizontalmente, mostrando el mismo buffer o uno nuevo.
Dividir ventana verticalmente
Categoría: Ventanas & Buffers
:vsp o :vsplit
Divide la ventana actual verticalmente, mostrando el mismo buffer o uno nuevo.
Navegar entre ventanas
Categoría: Ventanas & Buffers
Ctrl-w h/j/k/l
Mueve el foco a la ventana a la izquierda/abajo/arriba/derecha.
Cerrar ventana actual
Categoría: Ventanas & Buffers
:close o Ctrl-w c
Cierra la ventana actual.
Cambiar al siguiente buffer
Categoría: Ventanas & Buffers
:bnext o :bn
Carga el siguiente buffer en la lista.
Cambiar al buffer anterior
Categoría: Ventanas & Buffers
:bprev o :bp
Carga el buffer anterior en la lista.
Listar buffers
Categoría: Ventanas & Buffers
:ls o :buffers
Muestra una lista de todos los buffers abiertos.
Saltar a buffer por número/nombre
Categoría: Ventanas & Buffers
:buffer N o :b N
Abre el buffer número N. También se puede usar el nombre del buffer.
Cerrar buffer
Categoría: Ventanas & Buffers
:bd o :bdelete
Cierra el buffer actual sin cerrar la ventana. En LazyVim: <Leader>bd.
Redimensionar ventanas
Categoría: Ventanas & Buffers
Ctrl-w + / Ctrl-w - / Ctrl-w > / Ctrl-w <
Aumenta/reduce la altura o ancho de la ventana actual. Ctrl-w = las iguala.
Maximizar ventana
Categoría: Ventanas & Buffers
Ctrl-w o
Cierra todas las ventanas excepto la actual (:only).
Abrir nueva pestaña
Categoría: Ventanas & Buffers
:tabnew / gt / gT
:tabnew abre nueva pestaña. gt/gT navega entre pestañas.
Archivos
Abrir archivo
Categoría: Archivos
:e [nombre_archivo]
Edita un nuevo archivo o recarga el actual. Con plugin como `nvim-tree` o `Telescope` es más común usar sus atajos.
Guardar archivo como
Categoría: Archivos
:w [nombre_archivo]
Guarda el buffer actual con un nuevo nombre.
Leer archivo en el buffer actual
Categoría: Archivos
:r [nombre_archivo]
Inserta el contenido de un archivo en el buffer actual a partir del cursor.
Buscar & Reemplazar
Buscar (hacia adelante)
Categoría: Buscar & Reemplazar
/patron
Busca 'patron' hacia adelante en el archivo.
Buscar (hacia atrás)
Categoría: Buscar & Reemplazar
?patron
Busca 'patron' hacia atrás en el archivo.
Siguiente coincidencia
Categoría: Buscar & Reemplazar
n
Va a la siguiente ocurrencia de la búsqueda anterior.
Coincidencia anterior
Categoría: Buscar & Reemplazar
N
Va a la ocurrencia anterior de la búsqueda anterior.
Reemplazar en línea actual
Categoría: Buscar & Reemplazar
:s/old/new/g
Reemplaza todas las ocurrencias de 'old' por 'new' en la línea actual. (g = global).
Reemplazar en todo el archivo
Categoría: Buscar & Reemplazar
:%s/old/new/gc
Reemplaza todas las ocurrencias de 'old' por 'new' en todo el archivo, con confirmación (c = confirm).
Limpiar resaltado de búsqueda
Categoría: Buscar & Reemplazar
:noh o :nohlsearch
Limpia el resaltado de la última búsqueda. En LazyVim: <Esc> o <Leader>ur.
Reemplazar en selección visual
Categoría: Buscar & Reemplazar
:'<,'>s/old/new/g
Reemplaza solo dentro de la selección visual actual. Selecciona con V y luego escribe :.
Buscar y reemplazar palabra bajo cursor
Categoría: Buscar & Reemplazar
:%s/<Ctrl-r><Ctrl-w>/new/gc
En modo comando, Ctrl-r Ctrl-w inserta la palabra bajo el cursor. Útil para renombrar.
Plugins & LSP (LazyVim)
Comandos y atajos de los plugins incluidos en LazyVim por defecto. <Leader> es Espacio por defecto.
Abrir panel de Lazy.nvim
Categoría: Plugins
:Lazy
Abre el panel principal de lazy.nvim donde podés ver, actualizar e instalar plugins.
Actualizar Plugins
Categoría: Plugins
:Lazy update
Actualiza todos los plugins gestionados por lazy.nvim.
Sincronizar Plugins
Categoría: Plugins
:Lazy sync
Instala plugins faltantes, actualiza y limpia los que ya no se usan.
Ver Extras disponibles
Categoría: Plugins
:LazyExtras
Muestra la lista de extras de LazyVim disponibles para activar (lenguajes, herramientas, etc.).
Buscar archivos (Telescope)
Categoría: Plugins
<Leader>ff
Busca archivos por nombre en el proyecto con Telescope.
Buscar texto (Grep)
Categoría: Plugins
<Leader>sg
Busca texto en todo el proyecto con grep (Telescope live_grep).
Buscar buffers abiertos
Categoría: Plugins
<Leader>fb
Lista y busca entre los buffers abiertos.
Archivos recientes
Categoría: Plugins
<Leader>fr
Muestra los archivos abiertos recientemente.
Explorador de archivos (Neo-tree)
Categoría: Plugins
<Leader>e
Abre/cierra el explorador de archivos lateral Neo-tree.
Explorador en archivo actual
Categoría: Plugins
<Leader>E
Abre Neo-tree con el archivo actual seleccionado en el árbol.
Ir a definición (LSP)
Categoría: Plugins
gd
Salta a la definición del símbolo bajo el cursor.
Ver referencias (LSP)
Categoría: Plugins
gr
Lista todas las referencias del símbolo bajo el cursor en el proyecto.
Documentación hover (LSP)
Categoría: Plugins
K
Muestra la documentación/tipo del símbolo bajo el cursor en un popup flotante.
Renombrar símbolo (LSP)
Categoría: Plugins
<Leader>cr
Renombra el símbolo bajo el cursor en todo el proyecto usando LSP.
Acciones de código (LSP)
Categoría: Plugins
<Leader>ca
Muestra acciones de código disponibles (imports, fixes, refactors).
Formatear código
Categoría: Plugins
<Leader>cf
Formatea el archivo o la selección visual usando el formateador configurado (conform.nvim).
Diagnósticos (errores/warnings)
Categoría: Plugins
<Leader>xx
Abre la lista de diagnósticos con Trouble. ]d / [d para navegar entre diagnósticos.
Terminal flotante
Categoría: Plugins
<Leader>ft
Abre una terminal flotante dentro de Neovim. <C-/> también la alterna.
Git status (Neo-tree)
Categoría: Plugins
<Leader>gs
Abre el estado de git. También <Leader>gg para abrir lazygit si está instalado.
Notificaciones
Categoría: Plugins
<Leader>sn
Muestra el historial de notificaciones (noice.nvim / notify).
Which-key (ayuda de atajos)
Categoría: Plugins
<Leader>
Presiona Espacio y esperá: which-key muestra todos los atajos disponibles organizados por categoría.
Configuración
En Neovim, la configuración se realiza principalmente a través del archivo `init.lua` (o `init.vim`).
Abrir archivo de configuración
Categoría: Configuración
:e $MYVIMRC
Abre tu archivo `init.lua` (o `init.vim`) para edición.
Recargar configuración
Categoría: Configuración
:source $MYVIMRC
Recarga el archivo de configuración actual sin reiniciar Neovim.
Mostrar opciones
Categoría: Configuración
:set [opción]?
Muestra el valor de una opción (ej. `:set number?`). `:set no[opción]` para desactivar.
Lazy Extras
Los Extras de LazyVim son paquetes preconfigurados que podés activar con :LazyExtras. Agregan soporte para lenguajes, herramientas y funcionalidades adicionales.
Activar/Desactivar Extras
Categoría: Lazy Extras
:LazyExtras
Abre el gestor de extras. Presiona x para activar/desactivar un extra. Los cambios se guardan en lazy.lua.
TypeScript / JavaScript
Categoría: Lenguajes
lang.typescript
LSP (vtsls), treesitter, linting (eslint) y formateo. Soporta TS, JS, JSX, TSX.
Python
Categoría: Lenguajes
lang.python
LSP (basedpyright/pyright), ruff para linting y formateo, depuración con debugpy, venv selector.
Rust
Categoría: Lenguajes
lang.rust
LSP (rust-analyzer), treesitter, crates.nvim para gestión de dependencias Cargo, depuración.
Go
Categoría: Lenguajes
lang.go
LSP (gopls), treesitter, gofumpt para formateo, goimports, depuración con delve.
Java
Categoría: Lenguajes
lang.java
LSP (jdtls), treesitter, depuración, testing con nvim-jdtls.
C / C++
Categoría: Lenguajes
lang.clangd
LSP (clangd), treesitter para C/C++, cmake, depuración integrada.
Lua
Categoría: Lenguajes
lang.lua (incluido por defecto)
LSP (lua_ls) con soporte para la API de Neovim, treesitter, stylua para formateo.
JSON / YAML / TOML
Categoría: Lenguajes
lang.json / lang.yaml / lang.toml
LSP, treesitter y esquemas (SchemaStore) para validación automática de archivos de configuración.
Docker
Categoría: Lenguajes
lang.docker
LSP para Dockerfile y docker-compose, treesitter, autocompletado de imágenes.
Tailwind CSS
Categoría: Lenguajes
lang.tailwind
LSP de Tailwind con autocompletado de clases, previsualización de colores y ordenamiento.
Conform.nvim (Formateador)
Categoría: Formateo
formatting.prettier / formatting.black
Formateadores por lenguaje. Prettier (JS/TS/HTML/CSS), Black (Python), stylua (Lua), etc. Se activan por extra de lenguaje.
nvim-lint (Linter)
Categoría: Linting
linting.eslint / linting.ruff
Linters por lenguaje. ESLint (JS/TS), Ruff (Python), etc. Se integran automáticamente con los extras de lenguaje.
Formatear al guardar
Categoría: Formateo
<Leader>uf
Activa/desactiva el formateo automático al guardar. Por defecto está activado en LazyVim.
Copilot (Extra)
Categoría: IA
coding.copilot
Activa GitHub Copilot para sugerencias inline de código. Requiere suscripción a GitHub Copilot.
Copilot Chat (Extra)
Categoría: IA
coding.copilot-chat
Agrega chat interactivo con Copilot para explicar, refactorizar y generar código. Atajos con <Leader>a.
DAP (Depuración)
Categoría: Herramientas
dap.core
Agrega soporte de depuración (Debug Adapter Protocol). <Leader>db para breakpoint, <Leader>dc para continuar.
Testing (neotest)
Categoría: Herramientas
test.core
Framework de testing. <Leader>tt ejecuta el test más cercano. <Leader>tT ejecuta todo el archivo.
Mini.surround
Categoría: Coding
coding.mini-surround
Agrega/cambia/borra delimitadores. gsa" agrega comillas, gsd" las borra, gsr"' las cambia.
Copilot & IA
Comandos para GitHub Copilot en Neovim. Requiere activar el extra lazyvim.plugins.extras.coding.copilot desde :LazyExtras.
Activar/Autenticar Copilot
Categoría: Copilot
:Copilot auth
Inicia el proceso de autenticación con GitHub para usar Copilot.
Estado de Copilot
Categoría: Copilot
:Copilot status
Muestra si Copilot está activo, autenticado y funcionando correctamente.
Aceptar sugerencia
Categoría: Copilot
Tab
Acepta la sugerencia completa de Copilot en modo insertar.
Aceptar palabra siguiente
Categoría: Copilot
Ctrl-w (en sugerencia)
Acepta solo la siguiente palabra de la sugerencia de Copilot.
Aceptar línea siguiente
Categoría: Copilot
Ctrl-l (en sugerencia)
Acepta solo la siguiente línea de la sugerencia de Copilot.
Rechazar sugerencia
Categoría: Copilot
Esc / Ctrl-]
Rechaza la sugerencia actual de Copilot y continúa editando.
Siguiente/Anterior sugerencia
Categoría: Copilot
Alt-] / Alt-[
Cicla entre las sugerencias alternativas de Copilot.
Activar/Desactivar Copilot
Categoría: Copilot
:Copilot enable / :Copilot disable
Activa o desactiva Copilot para la sesión actual.
Copilot Chat - Abrir chat
Categoría: Copilot
<Leader>aa
Abre el panel de Copilot Chat. Requiere el extra coding.copilot-chat.
Copilot Chat - Explicar código
Categoría: Copilot
<Leader>ae
Seleccioná código en modo visual y pedile a Copilot que lo explique.
Copilot Chat - Preguntar rápido
Categoría: Copilot
<Leader>aq
Abre un prompt rápido para hacerle una pregunta a Copilot sobre el código seleccionado.