Movimiento básico | |
h l k j | caracter izq., derecha; línea arriba, abajo |
b w | palabra/símbolo izquierda, derecha |
ge e | fin de palabra/símbolo izquierda, derecha |
{ } | principio del anterior, siguiente párrafo |
( ) | comienzo de anterior, siguiente oración |
0 gm | principio, medio de la línea |
^ $ | primer, último caracter de la línea |
nG ngg | línea n. por defecto la primera, última |
n% | porcentaje n del archivo (n es obligatorio) |
n| | columna n de la línea actual |
% | siguiente llave, paréntesis, comentario, #define |
nH nL | línea n desde el principio, medio de la ventana |
M | medio de la ventana |
Inserción & sustitución → modo insertar | |
i a | insertar antes, después del cursor |
I A | insertar al principio, fin de la línea |
gI | insertar texto en la primera columna |
o O | insertar nueva línea abajo, arriba de la actual |
rc | sustituir caracter bajo el cursor por c |
grc | como r, pero sin afectar el diseño |
R | sustituir caracteres a partir del cursor |
gR | como R, pero sin afectar el diseño |
cm | cambiar texto del comando de deplazamiento m |
cc or S | cambiar línea actual |
C | cambiar hasta el fin de la línea |
s | cambiar un caracter e insertar |
~ | invertir mayúscula/minúscula y avanzar el cursor |
g~m | invertir mayús/minús del movimiento m |
gum gUm | minúscula, mayúscula texto movimiento m |
<m >m | desplazar izq., der. texto del movimiento m |
n<< n>> | desplazar n líneas a la izquierda, derecha |
Borrado | |
x X | eliminar caracter sobre, previo al cursor |
dm | eliminar texto de comando de movimiento m |
dd D | eliminar línea actual, hasta fin de línea actual |
J gJ | juntar linea actual con la siguiente, sin espacio |
:rd↵ | eliminar rango r de líneas |
:rdx↵ | eliminar rango r de líneas al registro x |
Modo insertar | |
^Vc ^Vn | insertar caracter c literal, con valor decimal n |
^A | insertar último texto insertado |
^@ | igual que ^A y detener inserción → modo comando |
^Rx ^R^Rx | insertar contenido de registro x, literal |
^N ^P | completar texto antes, luego del cursor |
^W | eliminar palabra anterior al cursor |
^U | eliminar todo el texto insertado en la línea actual |
^D ^T | desplazar linea a la izquierda, derecha |
^Kc1c2 or c1←c2 | entrar dígrafo \c1,c2\ |
^Oc | ejecutar c en modo de temporal de comando |
^X^E ^X^Y | scrollear arriba, abajo |
<esc> or ^[ | salir del modo edición → modo comando |
Copiado | |
"x | usar registro x para la siguiente acción |
:reg↵ | mostrar contenido de todos los registros |
:reg x↵ | mostrar contenido de los registros x |
ym | copiar texto del movimiento m |
yy or Y | copiar línea actual al registro |
p P | pegar registro antes, despues del cursor |
]p [p | como p, P pero ajustando la sangría |
gp gP | igual, pero cursor queda luego de texto nuevo |
Inserción avanzada | |
g?m | realizar codificación rot13 en movimiento m |
n^A n^X | incrementar/disminuir numero bajo el cursor |
gqm | formatear línea de movimiento m a ancho fijo |
:rce w↵ | centrar líneas en rango r a ancho w |
:rle i↵ | alinear izq. lineas en rango r con sangría i |
:rri w↵ | alinear der. lineas en rango r con ancho w |
!mc↵ | aplicar comando c al movimiento m |
n!!c↵ | aplicar comando c a siguientes n lineas |
:r!c↵ | aplicar comando c a rango de líneas r |
Modo visual | |
v V ^V | empezar/terminar marca caract, líneas, bloque |
o | cursor de selección al principio/fin del marcado |
gv | empezar a marcar utilizando última zona marcada |
aw as ap | seleccionar una palabra, oración, párrafo |
ab aB | seleccionar un bloque ( ), un bloque { } |
Deshacer, repetir & registros | |
u U | deshacer último comando, restaurar última línea |
. ^R | repetir últimos cambios, rehacer último deshacer |
n. | repetir últimos cambios n veces |
qc qC | grabar, agregar teclas tipeadas en registro c |
q | detener grabación |
@c | ejecutar el contenido del registro c |
@@ | repetir comando @ anterior |
:@c↵ | ejecutar registro c como un comando Ex |
:rg/p/c↵ | ejecutar comando Ex c en rango r |
donde se cumpla el patrón p | |
Movimiento complejo | |
- + | línea arriba, abajo al primer caracter no blanco |
B W | siguiente, anterior palabra separada por espacio |
gE E | fin de anterior, siguiente palabra espaciada |
n_ | al primer caracter no blanco en linea n-1 debajo |
g0 | principio de la línea en pantalla |
g^ g$ | primer, último caracter de la línea en pantalla |
gk gj | línea en pantalla arriba, abajo |
fc Fc | siguiente, anterior ocurrencia del caracter c |
tc Tc | antes de la siguiente, anterior occurencia de c |
; , | repetir última fFtT, en dirección opuesta |
[[ ]] | comienzo de la sección hacia atrás, adelante |
[] ][ | fin de la sección hacia atrás, adelante |
[( ]) | seccion (, ) abierta hacia atrás, adelante |
[{ ]} | seccion {, } abierta hacia atrás, adelante |
[m ]m | comienzo de método Java hacia atrás, adelante |
[# ]# | #if, #else, #endif abierto atrás, adelante |
[* ]* | principio, fin de /* */ hacia atrás, adelante |
Búsqueda & sustitución | |
/s↵ ?s↵ | buscar s hacia adelante, atrás |
/s/o↵ ?s?o↵ | buscar s adelante, atrás con desplaz. o |
n or /↵ | repetir última búsqueda hacia adelante |
N or ?↵ | repetir última búsqueda hacia atrás |
# * | buscar adelante, atrás palabra sobre cursor |
g# g* | igual, pero buscar tambien resultados parciales |
gd gD | definición local, global de símbolo sobre cursor |
:rs/f/t/x↵ | sustituir f por t en rango r |
x: g-todas las ocurrencias, c-confirmar cambios | |
:rs x↵ | repetir sustitución con nuevo r & x |
Caracteres especiales en patrones de busqueda | |
. ^ $ | caracter simple; comienzo, fin de línea |
\< \> | comienzo, fin de palabra |
[c1-c2] | caracter simple en el rango c1..c2 |
[^c1-c2] | caracter simple no en el rango c1..c2 |
\i \k \I \K | identificador, palabra clave; excl. dígitos |
\f \p \F \P | nombre arch, car. imprim.; ign. dígitos |
\s \S | espacio en blanco, no espacio en blanco |
\e \t \r \b | <esc>, <tab>, <↵>, <←> |
\= * \+ | 0..1, 0..∞, 1..∞ del átomo anterior |
\| | separar dos ramas ( ≡ o) |
\( \) | agrupa patrones en un átomo |
\& \n | todo el patrón encontrado, grupo no () |
\u \l | próximo caracter a mayúscula, minúscula |
Desplazamientos en comandos de búsqueda | |
n or +n | n líneas hacia abajo en columna 1 |
-n | n líneas hacia arriba en columna 1 |
e+n e-n | n caract. der., izq de comienzo del matcheo |
s+n s-n | n caract. der., izq. del final del matcheo |
;sc | ejecutar comando de búsqueda sc a continuación |
Marcas y movimiento | |
mc | marcar posición actual con marca c ∈[a..Z] |
`c `C | ir a marca c en archivo actual, cualquier archivo |
`0..9 | ir a última posición de salida |
`` `" | ir a posición antes del salto, de última edición |
`[ `] | ir al principio, fin del último texto operado |
:marks↵ | mostrar lista de marcas activas |
:jumps↵ | mostrar lista de saltos |
n^O | ir a la na posición más vieja de la lista de saltos |
n^I | ir a la na posición más nueva de la lista de saltos |
Mapeo de teclas & abreviaciones | |
:map c e↵ | mapear c ↦ e. modo normal & visual |
:map! c e↵ | map. c ↦ e. modo insertar & comandos |
:unmap c↵ :unmap! c↵ | borrar mapeo c |
:mk f↵ | guardar mapeos actuales en archivo f |
:ab c e↵ | agregar abreviatura para c ↦ e |
:ab c↵ | mostrar abreviaturas que empiezan con c |
:una c↵ | borrar abreviatura c |
Etiquetas | |
:ta t↵ | saltar a etiqueta t |
:nta↵ | saltar a la na etiqueta mas nueva |
^] ^T | saltar a etiqueta sobre cursor, volver de etiqueta |
:ts t↵ | listar etiquetas que matchean y elegir una |
:tj t↵ | saltar a etiqueta o elegir una si varias cumplen |
:tags↵ | mostrar lista de etiquetas |
:npo↵ :n^T↵ | saltar desde, hacia n^va etiqueta vieja |
:tl↵ | saltar a última etiqueta que matchea |
^W} :pt t↵ | vista previa etiqueta sobre cursor, etiq. t |
^W] | separar ventana y mostrar etiqueta sobre el cursor |
^Wz or :pc↵ | cerrar vista previa de etiquetas |
Scrolleo & ventanas | |
^E ^Y | scrollear una línea arriba, abajo |
^D ^U | scrollear media página arriba, abajo |
^F ^B | scrollear una página arriba, abajo |
zt or z↵ | poner línea actual al principio de la ventana |
zz or z. | poner línea actual al centro de la ventana |
zb or z- | poner línea actual al final de la ventana |
zh zl | scrollear un caracter a la derecha, izquierda |
zH zL | scrollear media pantalla a la derecha, izquierda |
^Ws or :split↵ | dividir ventana en dos |
^Wn or :new↵ | crear nueva ventana vacía |
^Wo or :on↵ | hacer ventana actual única en la pantalla |
^Wj ^Wk | pasar a la ventana de abajo, arriba |
^Ww ^W^W | pasar a la ventana de abajo, arriba (ciclíco) |
Comandos Ex (↵) | |
:e f | editar archivo f, a menos que hayan cambios |
:e! f | editar archivo f siempre (recargar el actual) |
:wn :wN | guardar archivo y editar siguiente, anterior |
:n :N | editar archivo siguiente, anterior de la lista |
:rw | guardar rango r en archivo actual |
:rw f | guardar rango r a archivo f |
:rw>>f | agregar rango r al archivo f |
:q :q! | salir y confirmar, salir e ignorar cambios |
:wq or :x or ZZ | guardar archivo actual y salir |
<up> <down> | recordar comandos anteriores (historial) |
:r f | insertar contenido archivo f debajo del cursor |
:r! c | insertar salida del comando c debajo del cursor |
:all | abrir una vent. por cada arch. pasado en los arg. |
:args | mostrar lista de argumentos |
Rangos Ex | |
, ; | separa dos números de línea, primera linea |
n | número de linea absoluto n |
. $ | línea actual, última linea del archivo |
% * | todo el archivo, toda el área visual |
't | posición de la marca t |
/p/ ?p? | la próxima, anterior línea que cumple con p |
+n -n | +n, -n al numero de línea predecesor |
Pliegues (folding) | |
zfm | crear pliegue del movimiento m |
:rfo | crear pliegue para el rango r |
zd zE | borrar pliegue activo, todos los de la ventana |
zo zc zO zC | abrir, cerrar un pliegue; recursivamente |
[z ]z | ir al comienzo, fin del pliegue actual |
zj zk | ir abajo, arriba del comienzo, fin de sig. pliegue |
Misceláneas | |
:sh↵ :!c↵ | correr shell, ejecutar comando c |
K | buscar palabra sobre el cursor con man |
:make↵ | correr make, leer errores y saltar al primero |
:cn↵ :cp↵ | mostrar el siguiente, anterior error |
:cl↵ :cf↵ | listar errores, leer errores de archivo |
^L ^G | redibujar pant., mostrar nombre archivo y pos. |
g^G | mostrar columna, línea, palabra, byte actual |
ga | mostrar código ASCII del caracter actual |
gf | abrir archivo con nombre debajo del cursor |
:redir>f↵ | redirigir salida al archivo f |
:mkview [f] | guardar config. de vista [en archivo f] |
:loadview [f] | cargar config. de vista [de archivo f] |
^@ ^K ^_ \ Fn ^Fn | teclas no mapeadas |