El editor vi es uno de los más importantes en los sistemas del tipo Unix. Este se ejecuta en cualquier shell y se maneja con una serie de combinación de teclas, lo cual lo hace un poco difícil al inicio. En los sitemas GNU/Linux encontraremos vim, incluso si tecleamos vi en la terminal ejecutaremos vim que es la versión mejorada de vi.
Ejemplo 1: Paso por paso
- $ vi
- Pulsa i, escribe whoami y después pulsa Intro
- Escribe hostname y después pulsa Intro
- Pulsa Esc
- Escribe :w ordenes y pulsamos Intro. El archivo a sido guardado con el nombre de ordenes
- Pulsa Esc y escribe :q. Con esta orden salimos de vi
Desde el shell escribimos sh ordenes y pulsamos Intro para ver nuestro archivo creado.
Ejemplo 2: Paso por paso
- $ vi movimiento, en esta ocasión ajecutamos vi creando un nuevo archivo ‘movimiento’
- Pulse i y esribe el siguiente código (no lo vamos a compilar):
#include
int main(void)
{
printf(“Hola GNU/Linux”);
return 0;
}
- Ahora guarda los cambios pulsando Esc y después escribe :w ya no es necesario especificar el nombre del archivo como en el ejemplo 1.
- Supongamos que necesitamos desplazar el cursor a la primer linea del archivo, pulsa Esc, después pulsa 1G, y el cursor se desplazará a la primer línea del archivo.
- Ahora corramos a la última linea del archivo, pulsa G y el cursos se desplazará a la última línea
- Ahora hay que desplazar el cursos a la última letra de la linea, desplaza el cursor a la segunda linea pulsando 2G y después pulsa $, para regresar a la primer letra pulsa 0
Lista de comandos
Esta es la lista de comandos importantes para el manejo de vi.
Uso de VI
- vi. Editar un nuevo archivo.
- vi <archivo>. Editar un nuevo archivo asignando un nombre.
- vi <archivo1> <archivo2>. Editar varios archivos.
- -R. Abre el archi en modo solo lectura.
- -r. Recupera las modificaciones de un archivo no guardado.
Teclas para inserción
- a. Añade texto despues del caracter donde se encuentra el cursor.
- A. Añade texto después del último carácter de la linea.
- c. Da comienzo a una operación de cambio que nos permite modificar el texto.
- C. Cambia desde la posición actual del cursor hasta la última linea.
- i. Permite insertar texto en la posición del cursor.
- I. Permite insertar texto al inicio de la linea.
- o. Inserta una linea en blanco debajo de la posición del cursor.
- O. Inserta una linea en blanco arriba de la posición del cursor.
- R. Permite remplazar el texto.
- s. Sustituye caracteres de forma individual.
- S. Sustituye lineas completas.
Movimiento del cursor y edición
- <n>G. Desplaza el cursor a la linea especificada (Ej. 2G, mueve el cursor a la linea dos).
- G. Desplaza el cursor a la ultima linea del archivo.
- 0 (cero). Desplaza el cursor al primer carácter de la linea.
- Ctrl-G. Muestra la linea y la columna donde se encuentra el cursor.
- $. Desplaza el cursor al último carúcter de la linea.
- w. Desplaza el cursor palabra por palabra.
- b. Desplaza el cursor palabra por palabra hacia atrás.
- x. Borra el carácter de donde se encuentra el cursor.
- dd. Borra una linea completa.
- <n>dd.Borra n lineas.
- u. Deshace la última modificación.
- U. Recupera la linea completa.
- r. Remplaza el carácter seleccionado por todo el texto que escriba.
- x. Borra el carácter de donde se encuentra el cursor.
- yy. Copia la linea donde se encuentra el cursor.
- <n>yy. Copia las n lineas desde la posición del cursor.
- p. Pega una linea copiada después de la posición del cursor.
- <n>p. Pega n veces la linea copiada.
- P. Pega una linea copiada antes de la posición del cursor.
Búsquedas
- /. Busca una cadena hacia delante.
- ?. Busca una cadena hacia atrás.
- n. Siguiente en la búsqueda.
- N. Anterior en la búsqueda.
Guardar archivos y salir de vi
- :w archivo. Guardar el archivo asignando un nombre.
- :w! archivo. Guardar forzando el archivo asignando un nombre.
- :w. Guardar os cambios de un archivo.
- :w!. Guarzar forzando (cuando lalla :w).
- :x. Salir guardando los cambios.
- ZZ. Salir guardando los cambios si es necesario.
- :q!. Permite salir de vi sin guardar los cambios.
- :wq. Permite guardar los cambios y salir de vi.
- :q. Permite salir de vi, si no hay modificaciones.