Hoja de referencia de Vim

6 min de lectura·Matthieu

Referencia rápida de comandos Vim, organizada para el trabajo de administración de servidores. Guarda esta página en marcadores.

Modos

Modo Acceso Propósito Volver a Normal
Normal Esc Navegar, ejecutar comandos Ya estás ahí
Inserción i, a, o, I, A, O Escribir texto Esc
Visual v (carácter), V (línea), Ctrl+v (bloque) Seleccionar texto Esc
Línea de comandos : Ejecutar comandos ex Enter o Esc

Operaciones con archivos

Comando Acción
:w Guardar
:q Salir (falla si hay cambios sin guardar)
:wq o ZZ Guardar y salir
:q! Salir sin guardar
:w !sudo tee % Guardar un archivo de solo lectura (cuando olvidaste sudoedit)
:e /ruta/al/archivo Abrir archivo
:saveas /ruta Guardar como archivo nuevo

Por carácter y línea

Tecla Acción
h j k l Izquierda, abajo, arriba, derecha
0 Inicio de línea
$ Final de línea
^ Primer carácter no vacío

Por palabra

Tecla Acción
w / W Siguiente palabra / PALABRA
b / B Palabra anterior / PALABRA anterior
e Final de la palabra

En el archivo

Tecla Acción
gg Primera línea
G Última línea
42G o :42 Línea 42
Ctrl+d / Ctrl+u Media página abajo / arriba
Ctrl+f / Ctrl+b Página completa abajo / arriba
% Paréntesis correspondiente

Búsqueda

Tecla Acción
/patrón Buscar hacia adelante
?patrón Buscar hacia atrás
n / N Siguiente / anterior coincidencia
* Buscar palabra bajo el cursor (adelante)
# Buscar palabra bajo el cursor (atrás)

Entrar en modo Inserción

Tecla Acción
i Antes del cursor
a Después del cursor
I Inicio de línea
A Final de línea
o Nueva línea debajo
O Nueva línea encima
s Eliminar carácter e insertar
S o cc Eliminar línea e insertar

Edición

Comando Acción
x Eliminar carácter
dd Eliminar línea
dw Eliminar palabra
d$ o D Eliminar hasta el final de la línea
d0 Eliminar hasta el inicio de la línea
cc Cambiar línea
cw Cambiar palabra
ci" Cambiar dentro de comillas
ci( Cambiar dentro de paréntesis
yy Copiar línea
yw Copiar palabra
p / P Pegar después / antes
u Deshacer
Ctrl+r Rehacer
. Repetir último cambio
>> / << Indentar / desindentar línea
J Unir línea actual con la siguiente

Contadores y composición

Los comandos Vim aceptan un prefijo numérico. Combina operadores con movimientos para ediciones precisas.

Ejemplo Acción
3dd Eliminar 3 líneas
5j Bajar 5 líneas
d2w Eliminar las 2 siguientes palabras
4>> Indentar 4 líneas
y3w Copiar 3 palabras
ct; Cambiar texto hasta ;
df" Eliminar hasta el próximo " inclusive

Modo Visual

Comando Acción
v Iniciar selección por carácter
V Iniciar selección por línea
Ctrl+v Iniciar selección por bloque
d Eliminar selección
y Copiar selección
> / < Indentar / desindentar selección
:s/^/#/ Comentar líneas seleccionadas (en modo visual de línea)
U / u Mayúsculas / minúsculas de la selección

Buscar y reemplazar

Comando Acción
:s/viejo/nuevo/ Reemplazar primero en la línea actual
:s/viejo/nuevo/g Reemplazar todos en la línea actual
:%s/viejo/nuevo/g Reemplazar todos en el archivo
:%s/viejo/nuevo/gc Reemplazar todos con confirmación
:5,10s/viejo/nuevo/g Reemplazar todos en líneas 5-10

Patrones regex comunes

Patrón Coincide con
^ / $ Inicio / final de línea
. Cualquier carácter
\d Dígito
\s Espacio en blanco
.* Cualquier carácter (codicioso)
\v Modo "very magic" (menos escapado)

Ejemplos de servidor

:%s/listen 80;/listen 443 ssl;/g
:%s/nginx:1.24/nginx:1.27/g
:%s/192\.168\.1\.1/10.0.0.1/g

Buffers

Comando Acción
:e archivo Abrir en buffer
:bn / :bp Buffer siguiente / anterior
:ls Listar buffers
:b2 Ir al buffer 2
:bd Cerrar buffer

Splits

Comando Acción
:sp archivo Split horizontal
:vs archivo Split vertical
Ctrl+w h/j/k/l Moverse entre splits
Ctrl+w = Tamaños iguales de splits
Ctrl+w q Cerrar split
Ctrl+w _ Maximizar altura del split actual
Ctrl+w | Maximizar ancho del split actual

Pestañas

Comando Acción
:tabnew archivo Abrir en nueva pestaña
gt / gT Siguiente / anterior pestaña
:tabclose Cerrar pestaña

Configuración .vimrc

Configuración mínima optimizada para servidores:

set nocompatible
set encoding=utf-8
set number relativenumber
syntax on
set expandtab tabstop=2 shiftwidth=2 softtabstop=2
set incsearch hlsearch ignorecase smartcase
set showmatch laststatus=2 showmode
set mouse=a
set pastetoggle=<F2>
set noswapfile
set cursorline
set list listchars=tab:>>·,trail:·
filetype plugin indent on

Atajos para trabajo en servidor

Tarea Comandos
Editar archivo de root de forma segura sudoedit /etc/nginx/nginx.conf
Pegar sin indentación en cascada F2, i, pegar, F2
Ir a la línea del error vim +42 file.yml
Convertir tabulaciones a espacios (YAML) :%s/\t/ /g
Comentar múltiples líneas V, seleccionar, :s/^/#/
Descomentar múltiples líneas V, seleccionar, :s/^#//
Verificar configuración Nginx :!sudo nginx -t
Recargar sin salir de Vim :!sudo systemctl reload nginx

Solución de problemas

Problema Solución
No puedo escribir tras abrir Vim Pulsa i (estás en modo Normal)
Terminal congelada (Ctrl+s) Pulsa Ctrl+q
Indentación en escalera al pegar Activa modo de pegado: F2 o :set paste
Archivo de solo lectura Sal, vuelve a abrir con sudoedit
Advertencia de archivo swap Elige (D)elete si ninguna otra sesión edita el archivo

Copyright 2026 Virtua.Cloud. Todos los derechos reservados. Este contenido es una obra original del equipo de Virtua.Cloud. La reproducción, republicación o redistribución sin permiso escrito está prohibida.

¿Listo para probarlo?

Despliega tu propio servidor en segundos. Linux, Windows o FreeBSD.

Ver planes VPS