Modos
Cambio de Modo
iModo inserción (antes del cursor)
aModo inserción (después del cursor)
oInsertar línea abajo y entrar en modo inserción
OInsertar línea arriba y entrar en modo inserción
vModo visual (carácter)
VModo visual (línea)
Ctrl+vModo bloque visual
:Modo línea de comandos
RModo reemplazo
EscVolver al modo normal
Navegación
Movimiento por Carácter y Línea
h j k lIzquierda, abajo, arriba, derecha
0 / ^Inicio de línea / primer carácter no vacío
$Fin de línea
w / WSiguiente palabra / PALABRA
b / BPalabra anterior / PALABRA
e / EFin de palabra / PALABRA
f{c} / F{c}Buscar carácter hacia adelante / atrás
t{c} / T{c}Hasta carácter hacia adelante / atrás
Movimiento por Pantalla y Archivo
gg / GIr a primera / última línea
:{n}Ir a línea n
Ctrl+d / Ctrl+uMedia página abajo / arriba
Ctrl+f / Ctrl+bPágina completa abajo / arriba
H / M / LParte superior / media / inferior de la pantalla
%Saltar al corchete coincidente
Edición
Insertar y Añadir
IInsertar al principio de la línea
AAñadir al final de la línea
eaAñadir al final de la palabra
giInsertar en la última posición de inserción
Eliminar y Cambiar
x / XEliminar carácter bajo / antes del cursor
ddEliminar línea
dwEliminar palabra
d$ / DEliminar hasta el final de la línea
cc / SCambiar línea entera
cwCambiar palabra
c$ / CCambiar hasta el final de la línea
ci" / ci(Cambiar dentro de comillas / paréntesis
Copiar y Pegar
yyCopiar (yank) línea
ywCopiar palabra
y$Copiar hasta el final de la línea
p / PPegar después / antes del cursor
JUnir la línea de abajo a la actual
Deshacer y Repetir
uDeshacer
Ctrl+rRehacer
.Repetir último comando
Buscar y Reemplazar
Búsqueda
/patternBuscar hacia adelante
?patternBuscar hacia atrás
n / NSiguiente / coincidencia anterior
*Buscar palabra bajo el cursor (adelante)
#Buscar palabra bajo el cursor (atrás)
Sustitución
:s/old/new/ " reemplazar primero en línea :s/old/new/g " reemplazar todos en línea :%s/old/new/g " reemplazar todos en archivo :%s/old/new/gc " reemplazar todos, confirmar cada uno
Modo Visual
Selección
vIniciar selección de carácter
VIniciar selección de línea
Ctrl+vIniciar selección de bloque
oMoverse al otro extremo de la selección
gvReseleccionar última selección visual
Acciones sobre la Selección
dEliminar selección
yCopiar selección
cCambiar selección
>Indentar selección
<Quitar indentación de selección
~Alternar mayúsculas/minúsculas
U / uMayúsculas / minúsculas de selección
Buffers y Ventanas
Buffers
:lsListar buffers abiertos
:bn / :bpSiguiente / buffer anterior
:b{n}Ir al buffer n
:bdCerrar buffer actual
:e fileAbrir archivo en nuevo buffer
Ventanas
:sp fileDivisión horizontal
:vsp fileDivisión vertical
Ctrl+w h/j/k/lNavegar a ventana
Ctrl+w =Igualar tamaños de ventana
Ctrl+w qCerrar ventana
Pestañas
:tabnew fileAbrir archivo en nueva pestaña
gt / gTSiguiente / pestaña anterior
:tabcloseCerrar pestaña actual
Registros
Usar Registros
"ayCopiar en registro a
"apPegar desde registro a
"AyAñadir copia al registro a
:regMostrar todos los registros
Registros Especiales
""Sin nombre (último eliminado/copiado)
"0Última copia
"+Portapapeles del sistema
"/"Último patrón de búsqueda
".Último texto insertado
"_Agujero negro (descartar)
Macros
Grabar y Reproducir
q{a}Iniciar grabación de macro en registro a
qDetener grabación
@{a}Reproducir macro desde registro a
@@Repetir última macro
5@aReproducir macro a 5 veces
Ejemplo de Macro
qa " iniciar grabación en a I// " insertar // al inicio de línea Esc j " volver a normal, bajar q " detener grabación 10@a " comentar las siguientes 10 líneas
Configuración
Opciones Comunes
:set number " mostrar números de línea :set relativenumber " números de línea relativos :set tabstop=4 " ancho de tabulación :set expandtab " espacios en lugar de tabulaciones :set ignorecase " búsqueda sin distinción de mayúsculas
Visualización y Comportamiento
:set wrap / nowrap " alternar ajuste de línea :set hlsearch " resaltar coincidencias de búsqueda :set incsearch " búsqueda incremental :set cursorline " resaltar línea actual :syntax on " activar resaltado de sintaxis
Operaciones de Archivo
Guardar y Salir
:wGuardar
:w fileGuardar como archivo
:qSalir (falla si hay cambios sin guardar)
:q!Salir sin guardar
:wq / :x / ZZGuardar y salir
:waGuardar todos los buffers
:qaSalir de todos los buffers
Información de Archivo y Externo
Ctrl+gMostrar información del archivo
:!cmdEjecutar comando de shell
:r !cmdInsertar salida de comando
:r fileInsertar contenido de archivo
Objetos de Texto
Objetos Internos y Alrededor
iw / awDentro / alrededor de la palabra
is / asDentro / alrededor de la oración
ip / apDentro / alrededor del párrafo
i" / a"Dentro / alrededor de comillas dobles
i' / a'Dentro / alrededor de comillas simples
i( / a(Dentro / alrededor de paréntesis
i{ / a{Dentro / alrededor de llaves
it / atDentro / alrededor de etiqueta HTML
Combinaciones Comunes
ciw " cambiar palabra interna di" " eliminar dentro de comillas ya{ " copiar alrededor de llaves vip " seleccionar párrafo interno
Marcas y Saltos
Marcas
m{a}Establecer marca a en posición del cursor
'aSaltar a la línea de la marca a
`aSaltar a la posición exacta de la marca a
:marksListar todas las marcas
Lista de Saltos
Ctrl+oSaltar a posición anterior
Ctrl+iSaltar a siguiente posición
:jumpsMostrar lista de saltos
''Saltar a la última posición de salto