Vim es un editor para crear o editar ficheros de texto.
Hay dos modos en vim. Uno es el modo comando y el otro es el modo inserción.
En el modo comando, el usuario puede moverse por el fichero, borrar texto, etc.
En el modo de inserción, el usuario puede insertar texto.
Cambiando de un modo a otro
Para pasar del modo comado a modo de inserción escribe a/A/i/I/o/O ( ver detalles más abajo)
Del modo inserción a modo comando pulsa la tecla Esc
Comandos útiles para VIM
Comandos de entrada de texto (Se utiliza para iniciar la introducción de texto)
a | Anexar texto en la posición actual del cursor |
A | Anexar texto al final de la linea actual |
i | Insertar texto antes de la posición actual del cursor |
I | Insertar texto al comienzo de la linea del cursor |
o | Abre una nueva linea después de la linea actual y cambia a modo inserción |
O | Abre un nueva linea sobre la linea actual y cambia a modo inserción. |
Los siguientes comandos se utilizan sólo en el modo de comandos.
Comandos de Movimiento de Cursor
h | Mueve el cursor un carácter a la izquierda |
l | Mueve el cursor un carácter a la derecha |
k | Mueve el cursor una linea arriba |
j | Mueve el cursor una linea abajo |
nG o :n | El cursor va a la linea (n) especificada (ej. 10G va a la linea 10) |
^F (CTRL+F) | Pantalla hacia delante |
^B (CTRL+B) | Pantalla hacia atrás |
^f | One Una página hacia delante |
^b | Una página hacia atrás |
^U | Arriba media pantalla |
^D | Abajo media pantalla |
$ | Mueve el cursor al final de la linea actual |
0 (cero) | Mueve el cursor al inicio de la linea actual |
w | Una palabra hacia delante |
b | Una palabra hacia atrás |
Comandos de Salida
:wq | Escribir fichero a disco y salir del editor |
:q! | Salir (sin advertencia) |
:q | Salir (si no se ha guardado el fichero aparecerá una advertencia) |
ZZ | Guardar el entorno de trabajo y salir del editor (lo mismo que :wq) |
: 10,25 w temp | escribe de la linea 10 a la 25 en un fichero llamado temp. Por supuesto, puedes usar el número de linea que desees. (Usa :f para encontrar las lineas que te interesan. |
Comandos de Borrado de Texto
x | Borrar carácter |
dw | Borrar palabra desde el cursor |
db | Borrar palabra inversamente |
dd | Borrar linea |
d$ | Borrar hasta el final de la linea |
d^ | (d caret, not CTRL d) Borrar hasta el comienzo de linea |
Yank (tiene la mayor parte de las opciones de borrado) – comandos de copia en VI
yy | tire línea actual |
y$ | tire del mismo para el final de la línea actual desde el cursor |
yw | tirón desde el cursor al final de la palabra actual |
5yy | tirón, por ejemplo, 5 líneas |
Pegar (used after delete or yank to recover lines.)
p | pegar debajo del cursor |
P | pegar encima del cursor |
“2p | paste from buffer 2 (there are 9) |
u | Deshacer el último cambio |
U | Restaurar linea |
J | Unir la próxima linea al final de la linea actual |
Comandos de manipulación de Ficheros
:w | Escribe espacio de trabajo para archivo original | :w | Escribir archivo de área de trabajo de archivo con el nombre | :e | archivo de empezar a editar un nuevo archivo | :r file | Leer el contenido de un archivo en el espacio de trabajo |
Para crear un salto de página, mientras que en el modo de inserción, pulse la tecla Ctrl y l. ^L aparecerá en el texto y hará que la impresora para iniciar una nueva página.
Otros Comandos Útiles
La mayoría de los comandos se pueden repetir n veces escribiendo un número, n, antes
El comando. Por ejemplo 10dd significa eliminar 10 líneas.
. | Repetir el último comando |
cw | Cambiar palabra actual a una nueva palabra |
r | Sustituir un carácter en la posición del cursor |
R | Comenzar tachado o modo de reemplazo – utilizar la tecla ESC para salir |
:syntax on | Activa el resaltado de sintaxis |
:/pattern | Buscar hacia adelante el patrón |
:/ | Repetir la última búsqueda hacia adelante |
:?pattern | Buscar hacia atrás para el patrón |
😕 | Repetir la última búsqueda hacia atrás |
n | se utiliza después de cualquiera de los 2 comandos de búsqueda de arriba para seguir encontrando siguiente ocurrencia del patrón. |
:g/pat1/s//pat2/g | reemplazar cada ocurrencia de patrón 1 (pat 1) con pat 2 Example :g/tIO/s//Ada.Text_IO/g Esto busca y reemplaza tIO por Ada.text_IO por todas partes en el archivo. |
:g/a/s// /g | reemplazar la letra a, por blanco |
:g/a/s///g | sustituir a por nada Nota: Incluso este comando se puede deshacer con u |