Vim

Instalar plugins

curl -fLo ~/.vim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

Movimientos

h        # Mover el cursor a la izquierda.
j        # Mover el cursor abajo.
k        # Mover el cursor arriba.
l        # Mover el cursor a la izquierda.
H        # Mover el cursor arriba de la pantalla.
M        # Mover el cursor al centro de la pantalla.
L        # Mover el cursor abajo de la pantalla.
e        # Ir al final de la palabra.
b        # Ir al inicio de la palabra.
0        # Ir al inicio de la linea.
$        # Ir al final de la linea.
gg       # Ir a la primera linea del documento.
G        # Ir a la ultima linea del documento.
5G       # Ir a la linea 5.
fx       # Saltar al siguiente caracter.
tx       # Saltar a la ocurrencia anterior al caracter x.
}        # Saltar al siguiente paragrafo.
{        # Saltar al paragrafo previo.
zz       # Centrar el cursor en pantalla.

Entrar en modo insert

i        # Inserta despues del cursor.
I        # Inserta al inicio de la linea.
A        # Inserta al final de la linea.
o        # Inserta en la siguiente linea.
ea       # Inserta al final de la palabra.

Editar.

r        # Reemplaza un caracter.
cc       # Reemplaza la linea entera.
cw       # Reemplaza por el comienzo de la siguiente linea.
ce       # Reemplaza hasta el final de la siguiente palabra.
cb       # Reemplaza hasta el inicio de la palabra anterior.
c0       # Reemplaza la inicio de linea.
c$       # Reemplaza hasta el final de linea.
s        # Eliminar caracter y sustituye texto.
xp       # Intercambiar 2 letras.
.        # Repite el ultimo comando.
u        # Deshacer.
Ctrl + r # Rehacer.

Visual

v        # Entrar en modo visual.
V        # Empezar a marcar lineas.
o        # Mover al final del area marcada.
aw       # Marcar una palabra.
ab       # Bloque con ()
aB       # a block with {}
Ctrl + v # Empieza bloque visual.
>>  # Identar
<<  # Deidentar

Copiar y pegar

yy       # Copia una linea.
yw       # Copia desde el cursor al inicio de la siguiente palabra.
y$       # Copia hasta el final de la linea.
p        # Pega despues del cursor.
P        # Pega antes del cursor.
dd       # Corta una linea.
dw       # Corta hasta el inicio de la siguiente palabra.
D        # Corta hasta el final de la linea.
d0       # Corta hasta el inicio de la linea.
x        # Corta un caracter.

Folding

:setlocal foldmethod=syntax.

zf # Definir pliegue manualmente.
zd # Eliminar el pliegue bajo el cursor
zo / zO     # Abrir
zc / zC     # Cerrar
za / zA     # Toggle
zv  # Abrir los pliegues de esta linea.
zM  # Cerrar todos
zR  # Abrir todos.

Buscar y reemplazar

/pattern       # Busca un patron.
?pattern       # Busca un patron hacia atras.
n              # Repite en la misma direccion.
N              # Repite en la direccion contraria.
:%s/old/new/g  # Reemplaza todas las palabras old por new en el ficheor.

Salir

:w              # Guardar pero no salir.
:wq or :x or ZZ # Guardar y salir.
:q! or ZQ       # Salir sin guardar.

Multiples ficheros

:e file       # Edita un fichero en un buffer nuevo.
:bnext or :bn # Ir al siguiente buffer.
:bprev or :bp # Ir al buffer previo.
:bd           # Cerrar un fichero.
:ls           # Listar todos los buffers abiertos.
:sp file      # Abre un fichero en un nuevo buffer y parte la ventana.
Ctrl + ws     # Cortar ventanas.
Ctrl + ww     # Cambiar ventanas.
Ctrl + wq     # Cerrar una ventana.
Ctrl + wv     # Cortar ventana verticalmente.
Ctrl + wh     # Mover cursor a la ventana izquierda.
Ctrl + wl     # Mover cursos a la ventana de la derecha.
Ctrl + wj     # Mover cursor a la ventana de arriba.
Ctrl + wk     # Mover cursor a la ventana de abajo.

Tabs

:tabnew or :tabnew file # Abrir fichero en nueva pestaña.
gt or :tabnext or :tabn # Mover a la siguiente pestaña.
gT or :tabprev or :tabp # Mover a la pestaña previa.
<number>gt              # Mover al numero X de pestaña.
:tabclose or :tabc      # Cierra la pestaña actual y sus ventanas.
:tabonly or :tabo       # Cierra todas las pestañas excepto la actual.
:tabdo command          # Ejecuta comando en todas las pestañas.