Last active
March 8, 2023 23:46
-
-
Save rodrigolive/c86718868a3acc1d2061eaf8d247c88c to your computer and use it in GitHub Desktop.
VIM guia
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Guía de VIM | |
NAVEGACION | |
============================ | |
<ESC> - para salir del modo de inserción | |
: - entrar modo comandos, ESC para salir | |
j, k - cursor arriba, abajo | |
l, h - cursor izq, dcha | |
G - ir al final del fichero | |
gg - ir al principio del fichero | |
123G - ir a la línea 123 | |
^ - ir a principio de línea | |
$ - ir a final de línea | |
w, W - ir a siguiente palabra (W es separado por espacios) | |
{, } - ir al siguiente bloque de texto, función de C, etc. | |
b, B - saltar atrás al principio de la palabra | |
e, E - saltar adelante al final de la palabra | |
/ - buscar cadena | |
* - buscar palabra debajo cursor | |
n, N - siguiente/anterior coincidencia en la búsqueda | |
ZZ - guardar y salir | |
:w - guardar sin salir | |
:q! - salir sin guardar | |
u - undo: deshacer | |
^R - rehacer (control-r) | |
. - repetir última edición (un borrado, inserción, etc.) | |
EDICION | |
============================ | |
i - insertar donde el cursor | |
I - insertar a principio de línea | |
A - append: insertar al final de la línea | |
a - append: insertar después de la letra actual | |
o - open: insertar línea debajo actual | |
O - open: insertar línea arriba actual | |
x - borra 1 caracter sobre el cursor | |
X - backspace, borra hacia atrás | |
3x - borra los 3 siguientes caracteres | |
dd - borrar línea | |
dw - borrar siguiente palabra (delete word) | |
3dd - borra las 3 siguientes líneas | |
C - borrar hasta final de linea, y escribir | |
D - borrar hasta final de línea | |
J - join: junta línea inferior con actual | |
R - modo de sobrescribir | |
s - sustituir carácter actual e insertar | |
3s - sustituir las siguientes 3 letras | |
cw - change word: sobrescribir palabra | |
3cw - sobrescribir las 3 siguientes palabras | |
COPY-PASTE | |
======================== | |
yy - yank line: copiar línea actual | |
x, dd - borrar también copia al clipboard | |
p - paste: pegar lo copiado después del cursor | |
P - paste: pegar lo copiado antes del cursor | |
10yy - copiar las 10 siguientes líneas | |
10} - copiar hasta final del bloque | |
yw - yank word: copiar siguiente palabra | |
y$ - copiar hasta final de línea | |
y^ - copiar hasta principio de línea | |
10p - pegar 10 copias de la línea | |
"2yy - copiar al clipboard registro 2 | |
"2p - pegar del clipboard registro 3 | |
"3yy - copiar al registro 3, etc.. | |
:reg - lista el clipboard, por si quieres recuperar algo | |
(se puede guardar lo copiado en distintos sitios | |
y así reutilizarlo) | |
MODO VISUAL DE SELECCION EN BLOQUE | |
================================== | |
v - entra modo visual de selección de caracteres | |
V - entra modo visual de selección línea-a-línea | |
jklh - para cambiar selección | |
o - para seleccionar hacia el lado contrario | |
$, ^ - seleccionar hasta final/comienzo de línea | |
y - copia lo seleccionado | |
s - sobrescribe lo seleccionado | |
x, d - borra seleccionado | |
> - indenta para dentro lo seleccionado | |
< - indenta para fuera lo seleccionado | |
= - autoindentar bloque (MOLA MAZO!) | |
U - hacer que lo seleccionado sea mayúsculas | |
u - hacer que lo seleccionado sea minúsculas | |
ESC - desactiva modo visual | |
^V - entra modo visual columnar, para por ej. borrar una columna | |
^V I - entra modo visual columnar, modo inserción columnar | |
MARCAS DE NAVEGACION | |
============================ | |
# Marcas son útiles para saltar de un lado | |
# a otro del fichero que se edita | |
m<letra> - crea marca en la letra elegida | |
ma - crea marca "a" | |
'a - ir a marca "a" | |
mb - crea marca "b" | |
'b - ir a marca "b" | |
'' - volver al sitio anterior en el que estabas | |
COMANDOS (modo ":") | |
======================== | |
:↑ - flecha arriba/abajo recupera comando anterior | |
:syntax on - activa modo sintaxe de lenguaje (highlighting) | |
:set syntax=c - indica a vim que el fichero es sintaxe de c | |
:set syntax=bash - indica a vim que el fichero es sintaxe de c | |
:!comando - ejecuta "comando" del shell | |
:!gcc fichero.c - ejecuta gcc compilando fichero.c | |
:set autoindent - autoidentación al abrir nueva línea con "o" | |
:set ts=4 sw=4 - 4 caracteres de identación | |
:set expandtab - usar espacios en lugar de tabs | |
:retab - cambiar todos los TAB a espacios | |
:set ruler - ver barra status con posición actual del cursor | |
:set number - ver número de línea a la izquierda | |
:noh - salir de modo búsqueda por selección | |
:%s/bobo/caca/g - reemplazar "bobo" por "caca" en todo el fichero | |
:%s/bobo/caca/gi - reemplazar "bobo" por "caca", ignorando mayus/min | |
:%g/bobo/d - borrar todas las líneas que contengan "bobo" | |
:%s/\s\+$//g - borrar todos los espacios a final de línea | |
PESTAÑAS (TABS) | |
========================= | |
:tabn fichero.c - abrir fichero en la siguiente pestaña | |
:tabn - next: ir a siguiente tab | |
:tabp - previous: volver a tab anterior | |
:tabc - close: cerrar pestaña | |
gt - go tab siguiente | |
gT - go tab anterior | |
Poner comandos frecuentes en el fichero de arranque ~/.vimrc | |
Ejemplo de ~/.vimrc: | |
set ts=4 | |
set sw=4 | |
set expandtab | |
set ruler | |
syntax on | |
Y acuérdate: si nada funciona es que tienes el botón CAPS Mayúsculas de tu teclado encendido!! 😄 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Muchas gracias por compartir este mini manual de vim.
Me ha sido de mucha ayuda en la piscina de 42