| Comando | Función |
| vi | Abre un archivo nuevo para nombrarlo luego. |
| vi nombre_de_archivo | Abre o crea el archivo indicado |
| vi -r nombre_de_archivo | Recupera un archivo de una caída del sistema |
| view nombre_de_archivo | Abre el archivo en modo lectura |
| Movimiento del cursor | |
| h | Moverse un carácter hacia la izquierda |
| j | Moverse una línea hacia abajo |
| k | Moverse una línea hacia arriba |
| l | Moverse un carácter hacia la derecha |
| w | Moverse una palabra a la derecha |
| W | Moverse una palabra a la derecha (pasados los signos de puntuación) |
| b | Moverse una palabra a la izquierda |
| B | Moverse una palabra a la izquierda (pasados los signos de puntuación) |
| e | Moverse al final de la palabra actual |
| Return | Moverse una línea hacia abajo |
| Back Space | Moverse un carácter a la izquierda |
| Space Bar | Moverse un carácter a la derecha |
| H | Moverse a la parte de arriba de la pantalla |
| M | Moverse al centro de la pantalla |
| L | Moverse a la parte inferior de la pantalla |
| Ctrl+F | Paginar una pantalla hacia adelante |
| Ctrl+D | Desplazarse media pantalla hacia delante |
| Ctrl+B | Paginar una pantalla hacia atrás |
| Ctrl+U | Desplazarse media pantalla hacia atrás |
| Insertar caracteres y líneas | |
| a | Inserta caracteres a la derecha del cursor |
| A | Inserta caracteres al final de la línea |
| i | Inserta caracteres a la izquierda del cursor |
| I | Inserta caracteres al principio de la línea |
| o | Inserta una línea por debajo del cursor |
| O | Inserta una línea por encima del cursor |
| Cambiar texto | |
| cw | Cambiar una palabra (o parte de una palabra) a la derecha del cursor |
| c | Cambiar una línea |
| C | Cambiar desde el cursor hasta el final de la línea |
| s | Sustituir cadena por carácter(es) desde el cursor hacia adelante |
| r | Reemplazar el carácter marcado por cursor por otro carácter |
| r Return | Partir una línea |
| J | Unir la línea actual con la línea inferior |
| xp | Transponer el carácter del cursor con el carácter a la derecha |
| ~ | Cambiar el tipo de letra (mayúscula o minúscula) |
| u | Deshacer el comando anterior |
| U | Deshacer todos los cambios en la línea actual |
| :u | Deshacer el comando anterior sobre la línea última |
| Eliminar texto | |
| x | Eliminar el carácter del cursor |
| X | Eliminar el carácter a la izquierda del cursor |
| dw | Eliminar la palabra (o la parte de la palabra a la derecha del cursor) |
| dd | Eliminar la línea que contiene al cursor |
| D | Eliminar la parte de la línea a la derecha del cursor |
| dG | Eliminar hasta el final de línea |
| d1G | Eliminar desde el principio del archivo hasta el cursor |
| :5,10d | Eliminar las líneas de la 5 a la 10 |
| Copiar y mover texto | |
| yy | Tirar o copiar línea |
| Y | Tirar o copiar línea |
| p | Poner la línea tirada o eliminada por debajo de la línea actual |
| P | Poner la línea tirada o eliminada por encima de la línea actual |
| :1,2 co 3 | Copiar las líneas de la 1 a la 2 y ponerlas después de la línea 3 |
| :4,5 m 6 | Mover las líneas de la 4 a la 5 y ponerlas después de la línea 6 |
| Ajustar la numeración de las líneas | |
| :set nu | Mostrar los números de las líneas |
| :set nonu | Ocultar los números de las líneas |
| Distinción entre mayúsculas y minúsculas | |
| :set ic | En la búsqueda se ignora la distinción entre mayúsculas y minúsculas |
| :set noic | En la búsqueda se distingue entre mayúsculas y minúsculas |
| Encontrar una línea | |
| G | Ir a la última línea del archivo |
| 1G | Ir a la primera línea del archivo |
| 21G | Ir a la línea 21 |
| Buscar y reemplazar | |
| /palabra_a_buscar | Búsqueda de cadena de caracteres |
| ?palabra_a_buscar | Búsqueda hacia atrás de cadena de caracteres |
| n | Encontrar la siguiente aparición de palabra_a_buscar en la dirección de búsqueda |
| N | Encontrar la aparición previa de la cadena de caracteres en la dirección de búsqueda |
| :g/letra_palabra/s//reemplazo/g | Buscar y reemplazar, |
| Limpiar la pantalla | |
| Ctrl+L | Limpiar (actualizar) la pantalla |
| Insertar un archivo en otro archivo | |
| :r nombre_de_archivo | Inserta (leer) el archivo a continuación del cursor |
| :34r nombre_de_archivo | Inserta el archivo después de la línea 34 |
| Guardar y salir | |
| :w | Guardar los cambios (escribir el contenido de la memoria intermedia) |
| :w nombre_de_archivo | Escribir el contenido de la memoria intermedia a un archivo con nombre |
| :wq | Guardar los cambios y salir de vi |
| : x | Guardar los cambios y salir de vi |
| ZZ | Guardar los cambios y salir de vi |
| :q! | Salir sin guardar los cambios |
2 comentario en “Comandos básicos vi”
Deja una respuesta
Lo siento, debes estar conectado para publicar un comentario.
Otro comando que no queda claro. Para borrar x cantidad de líneas podemos usar d+num:
d5 –> Borrará 5 líneas desde dónde está el cursor.
Otro truco más:
Podemos abrir el editor VIM en modo INSERT con el flag -y.
Lo que al abrir el fichero ya se abrirá en modo insert para que podemos añadir texto directamente. Luego para volver a insertar los comandos podemos volver con Ctrl + l.
Podemos crear un alias con alias vim=’vim -y’ y así cuando ejecutemos vim ó vim filename siempre se abrirá en modo insert.