El editor vi

Saber utilizar un editor de textos de Linux es imprescindible para poder editar y modificar los ficheros del sistema. Aunque existen centenares de editores diferentes, el vi siempre ha sido el editor por defecto de los sistemas tipo UNIX. Aunque en un principio el vi pueda parecernos un editor muy simple, a medida que nos vayamos acostumbrando a sus comandos veremos que tiene muchísimas utilidades que nos facilitan enormemente la manipulación de los ficheros. A pesar de que para tareas largas (como cuando programamos) existen otros editores más útiles, la gran mayoría de los administradores de sistemas utilizan el vi para muchas de las tareas de administración. El hecho de que se trate de un editor en modo texto (que permite su utilización en la consola del sistema) y de estar disponible en todos los sistemas hacen del vi el editor ideal en los entornos UNIX.

En GNU/Linux se suele utilizar más el vim (Vi IMproved), que es 99,9% compatible con el vi pero añade unas cuantas funcionalidades más.

Para llamar el vi podemos utilizar alguno de los métodos que vemos en la siguiente tabla:

Nota: Podemos ejecutar el comando “vi” o “vim” de igual forma.

Comando

Acción

“vi archivo” Edita el fichero en modo pantalla completa
“vi –r archivo” Recupera la última versión guardada del fichero
“vi + archivo” Edita el fichero y se situa en la última línea
“vi +numLinea archivo” Edita el fichero y se sitúa en la línea indicada
“vi archivo1…archivoN” Va editando todos los archivos especificados. Para saltar de uno a otro deberemos escribir en modo comando “:n”. Con “:n” no guardamos las modificaciones.
“vi +/string archivo” Edita el fichero situando el cursor en la primera ocurrencia del “string” indicado.

Modos del vi

El vi tiene dos modos de utilización: modo comando y modo inserción. En el modo comando todo lo que escribamos será interpretado por el editor para realizar acciones concretas, mientras que el modo inserción se utiliza para modificar el contenido del archivo. Cuando entramos en el vi, por defecto estamos en modo comando.

Para cambiar a modo inserción, podemos utilizar cualquiera de las teclas de la siguiente tabla:

Tecla

Acción

“a”

Insertar después de carácter donde estamos situados
“i” Insertar antes del carácter donde estamos situados
“A” Añade al final de la línea actual
“I” (i mayúscula) Añade al principio de la línea actual
“R” Entra en el modo inserción reemplazando caracteres
“o” (o minúscula) Añade una línea en blanco debajo de la nuestra y pasa a modo inserción
“O” (o mayúscula)

Añade una línea en blanco encima de la actual y pasa a modo inserción

Normalmente la opción que más usaremos para editar el fichero será introducir el carácter “a” momento en el cual podremos empezar a editarlo sin problemas.

Para volver a modo comando, podemos utilizar la tecla “Esc”. En modo inserción lo único que podemos hacer es escribir texto, eliminarlo o desplazarnos con las teclas de “AvPág” y “RePág”. El modo comando nos permite muchísimas más acciones.

En las siguientes tablas especificamos algunas de las más comunes:

Moviéndonos por el fichero

“j” (o cursor abajo) Siguiente línea
“k” (o cursor arriba) Línea anterior
“l” (L minúscula) (o cursor derecho) Siguiente carácter
“h” (o cursor izquierdo) Carácter anterior
“[[“ Inicio del archivo
“]]” Final del archivo
“nG” Ir a la línea “n”
“G” Ir al final del archivo
RETURN Siguiente línea
CTRL+F Pantalla siguiente
CTRL+B Pantalla anterior
CTRL+D Media pantalla siguiente
CTRL+U Media pantalla anterior

A continuación las operaciones de archivo:

Operaciones con archivos

“:w” Guarda el fichero
“:w nombreArchivo” Guarda el fichero con el nombre indicado
“:wq” Guarda el fichero y sale del editor
“:x” Guarda el fichero y sale del editor
“zz” Guarda el fichero y sale del editor
“:q” Sale si no ha habido cambios en el fichero
“:q!” Sale sin guardar los cambios en el fichero
“:e archivo” Edita el fichero indicado si no hay cambios en el actual
“:e! archivo” Edita el fichero indicado perdiendo los cambios en el actual, si hubiera
“:r archivo” Añade el archivo indicado después de la línea actual
“:Nr archivo” Añade el archivo indicado después de la línea indicada
“:sh” Ejecuta un shell sin salir del editor. Para salir del shell debemos escribir “exit”
“:N,Mw!” Guarda desde la línea “N” a la “M” descartando las otras
“:N,M>>archivo” Añade desde la línea “N” a la “M” en el archivo indicado
“:=” Muestra la línea actual
“CTRL+G” Muestra el estado del fichero

Y finalmente algunos atajos que suelen resultar útiles:

Copiar, pegar, borrar, buscar y reemplazar

“yy” Copia la línea actual
“Nyy” Copia las “N” líneas a partir del cursor
“p” (minúscula) Pega las líneas copiadas debajo de la actual
“P” (mayúscula) Pega las líneas copiadas encima de la actual
“x” Borra el carácter de debajo del cursor
“dw” Borra la palabra de debajo del cursor
“dd” Borra la línea actual
“D” Borrar desde la posición del cursor hasta final de línea
“/string” Busca el “string” a partir de la posición actual. Para continuar la búsqueda, se puede utilizar “n” y “N” para ir hacia delante o hacia atrás respectivamente.
“?string” Como el comando anterior pero en modo invertido
“:set ic” Realiza las búsquedas ignorando mayúsculas/minúsculas
“:set noic” Realiza las búsquedas con mayúsculas/minúsculas
“:g/HOLA/ s/ /ADIOS”

Sustituye todos los “HOLA” por “ADIOS”

En la línea inferior del editor veremos los comandos que vayamos escribiendo, que se ejecutarán al apretar el “Return”. Además, la mayoría de estos comandos permiten la repetición: tan sólo debemos escribir el número de veces que queremos que se ejecuten antes que el comando. Por ejemplo, con dd conseguimos que se borre la línea actual; si escribiéramos 3dd en lugar de la línea actual, se borrarían las tres siguientes.

Fuente: UOC OpenCourseWare

Entradas relacionadas:

Comandos Linux

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: