Comandos “vi” (“vim”) de uso frecuente
ESC | Abandonar el modo de inclusión de texto para volver |
al modo de comandos; también se usa para cancelar | |
comandos. (Usarlo en caso de duda) | |
Cntl-F | Avanzar una pagina hacia adelante |
Cntl-B | Avanzar una pagina hacia atrás |
Cntl-L | Refrescar la pantalla |
G | Cursor al final del fichero |
1G | Cursor al principio del fichero |
$ | Cursor al final de la linea |
0 (cero) | Cursor al principio de la linea |
.
a | Añadir texto a continuacion del cursor [TEXTO] |
i | Insertar texto en la posicion del cursor [TEXTO] |
A | Añadir texto al final de la linea [TEXTO] |
I | Insertar texto al principio de la linea [TEXTO] |
o | Añadir una linea debajo de la del cursor [TEXTO] |
O | Añadir una linea encima de la del cursor [TEXTO] |
u | Deshacer el último cambio realizado |
:red | Rehace los cambios deshechos con ”u” o ”:u” |
x | Borrar un caracter (y ponerlo automaticamente en el ALMACEN) |
D | Borrar el resto de la linea (a la derecha del cursor) |
dw | Borrar una palabra (hasta el primer blanco a la dcha. del cursor) |
dd | Borrar la linea entera |
8x | Borrar 8 caracteres |
2dw | Borrar 2 palabras |
7dd | Borrar 7 lineas |
p | Poner el contenido del ALMACEN temporal a continuacion del cursor |
P | Poner el contenido del ALMACEN temporal antes del cursor |
s | Substituir un caracter por texto [TEXTO] |
15s | Substituir 15 caracteres por texto [TEXTO] |
r | Substituir un solo caracter por otro nuevo, sin entar |
en modo de TEXTO | |
R | Sobreescribir [TEXTO] |
J | Unir la linea del cursor y la siguiente |
i[ENTER] | Romper una linea en dos |
. | Repetir el último cambio realizado |
yy | Poner la linea presente en el almacen temporal |
5yy | Poner cinco lineas en el almacen |
:w | Guardar en el fichero que se esta editando los cambios realizados |
(Aconsejable ejecuarlo de vez en cuando) | |
:w! | Idem, forzandolo si fuese necesario. |
:w Fichero | Guardar en el fichero “Fichero” |
:wq | Guardar y salir de “vi”. |
:wq! | Idem, forzandolo si fuese necesario. |
NOTA: Cada vez que se borra texto, el texto borrado pasa a un
ALMACEN temporal, de donde elimina lo que estuviese
almacenado previamente.
.
:q | Salir de “vi”, si no se han realizado cambios desde |
la última vez que se han salvado. | |
:q! | Salir de “vi” en todo caso. No se guardan aquellos |
cambios que no se hayan salvado. | |
:set nu | Visualizar los numeros de las lineas |
:set nonu | Ocultar los numeros de las lineas |
+ | Ir a la linea siguiente |
– | Ir a la linea anterior |
:+8 | Ir a la linea que esta 8 puestos más abajo |
:-9 | Ir a la linea que esta 9 puestos más arriba |
:6 | Ir a la linea numero 6 |
ma | Marcar la linea del cursor con la etiqueta ‘a’. |
(Sólo puede usarse una letra) | |
‘a | Ir a la linea marcada con ‘a”. |
:$ | Ir a la última linea del fichero, “$”. |
:P,U d | Borrar las lineas entre P y U, ambas incluidas. |
P y U son identificadores de lineas, es decir, | |
numeros de lineas o etiquetas. Ejemplos: | |
:6,’a d borrar las lineas entre la “6” y la ‘a’ | |
:’a,’b d borrar las lineas entre la ‘a’ y la “b” | |
:’a,$ d borrar las lineas desde ‘a’ hasta el final | |
:P,U w Fichero | Escribir en el fichero “Fichero” las lineas |
comprendidas entre P y U, ambas incluidas | |
:r Fichero | Leer el contenido del fichero “Fichero” y ponerlo a |
continuacion de la linea del cursor. |
.
/texto/ | Buscar, hacia adelante, la aparicion de “texto”. |
?texto? | Buscarlo hacia atras. |
n | Continuar la busqueda en la direccion elegida. |
N | Continuar la busqueda en la direccion opuesta. |
/i.ad/ busca iXad, donde X es cualquier caracter | |
/i…ad/ busca iXXad, donde XX son dos | |
caracteres cualesquiera | |
:P,U s/texto viejo/texto nuevo/ | Substituir texto desde las lineas P a U; solo la |
primera vez que aparezca en cada linea. Ejemplos: | |
:1,$ s/hola/adios/ substituir el primer “hola” de | |
cada linea del fichero por ‘adios’ | |
:P,U s/texto viejo/texto nuevo/g | Substituir texto desde las lineas P a U; |
todas las veces que aparezca. | |
:’a,$ s/hola/adios/g substituir todos los “hola” por | |
‘adios’ desde la linea marcada ‘a’ hasta el final | |
:set ic | Ignorar mayusculas/minusculas en busquedas y |
substituciones | |
:set noic | No ignorarlas |
:set ai | Auto-margen: cada nueva linea aparece con el mismo |
margen que la linea anterior. | |
(Util cuando se escriben ficheros FORTRAN) | |
:set noai | No auto-margen. |
abb ABREV texto | Definicion de una abreviatura (ABREV en este caso) |
para “texto” | |
![]() |
Desplaza una linea hacia la derecha |
5![]() |
|
![]() |
Desplaza una linea hacia la izquierda |
Fuente: https://web.ua.es/cuantica/docencia/ccem/teoria/node127.html