You are on page 1of 11

EL EDITOR VI

Introduccin

El primer editor de UNIX, llamado ed, era un EDITOR ORIENTADO A LINEAS o EDITOR DE LINEAS. Esto significa que los renglones o lneas de texto se numeraban y se tecleaban los comandos con base en esos nmeros. Este enfoque era necesario debido a la lentitud de las terminales.

Posteriormente, Bill Joy desarroll, en la Universidad de Berkeley, un editor de lneas ms poderoso, al que denomin ex (editor extendido). ex era mucho ms completo y poderoso que ed.

Los editores de lneas despliegan los datos, rengln por rengln, en la parte inferior de la pantalla. Cada vez que se despliega un rengln nuevo, los otros renglones se desplazan hacia arriba. Al haber terminales ms rpidas y flexibles, surgi la necesidad de

EDITORES DE PANTALLA que aprovecharan la funcionalidad incrementada. Tales editores permiten teclear y desplegar los datos en cualquier punto de la pantalla, de manera anloga a un programa de procesamiento de datos moderno.

Joy escribi una interfaz orientada a la pantalla para ex, a la que denomin vi (editor visual). vi respalda todos los comandos de ex, pero posee los suyos propios, as como convenciones especiales que utilizan toda la pantalla. vi se convirti en el editor UNIX estndar y, como dijimos, se incluye en todos los sistemas UNIX.

As, cuando usamos vi estamos utilizando dos editores, uno es el propio vi, que nos permitir movernos por la pantalla, editar, corregir, etc.; y el otro es ex.

Modos de vi

Cuando estamos trabajando con vi, hemos de tener en cuenta los tres posibles modos en los que podemos trabajar, estos son: MODO COMANDO - En este modo (es el modo por defecto al entrar en vi), cada pulsacin de un caracter se interpreta como una orden. Es similar al modo en el que ed imprime su prompt, cada caracter es una orden. MODO DE EDICIN - A este modo podemos entrar a partir del modo anterior. En el modo de edicin podemos aadir texto, corregir, etc. MODO EDITOR EX - Cuando estamos en este modo, en la ltima lnea de la pantalla aparecen dos puntos (:), y seguidamente el cursos. Este es el prompt del editor ex, comunicndonos que espera una orden.
texto

Comandos de vi

Comando de Edicin

Modo edicin

Modo Comandos

<ESC>

<RETORNO>

Modo :
:

Comandos : (comandos de ex)

Para volver al modo comando en cualquier momento, ya estemos en modo de edicin o editor ex, bastar con pulsar la tecla <ESC>.

Con el fin de entrar en el modo editor ex, debemos estar en el modo comando, y desde all pulsar :, stos aparecern en la ltima lnea de la pantalla, y seguidamente el cursor.

Opciones bsicas de vi

Al llamar a vi, podemos hacerlo sin ms, vi, o podemos especificar un archivo a editar, existente o no. Adems tenemos disponibles algunas opciones, que pondremos antes de ese posible nombre de archivo, y que son las siguientes: -r : Cada cierto tiempo, vi salva su buffer de edicin en el disco, de tal forma que si el sistema falla, o se desconecta inesperadamente, por lo menos una copia reciente de lo que estabamos haciendo se mantiene.

-R : Con esta opcin indicamos a vi que deseamos editar un archivo, pero slo para visualizarlo, o dicho en otras palabras, que trate el archivo como de slo lectura, y no nos deje modificarlo.

-w : Normalmente, aunque depende de la velocidad de transmisin a que est el terminal donde trabajamos, vi utiliza la pantalla completa como si fuese una ventana, por donde ir desplazando cada vez un trozo de archivo a editar. Esta opcin nos servir para alterar el tamao de esa ventana, para lo que detrs de w pondremos el nmero de lneas que deseamos tenga.

Supongamos llamamos a vi con la orden: vi archivo1 En la primera lnea se encuentra el cursor, esperando rdenes; en las lneas inferiores, aparece una especie de tilde (~), es el indicador de que se encuentran vacas; y en la parte inferior, ltima lnea de la pantalla, vi nos informa del archivo que hemos editado, y tambin nos comunica que dicho archivo es nuevo.

$vi archivo1 ~ ~ ~ : ~ archivo1 [new file]

El primer paso, para comenzar a trabajar con el editor, ser entrar algn texto. La orden para comunicarle que deseamos agregar texto al archivo es a (tambin podra ser i, o).

Una vez hayamos pulsado a, nos encontraremos automticamente en el modo edicin, el texto que tecleemos ir apareciendo por pantalla, al mismo tiempo que se ir almacenando en el buffer del editor. En este modo podemos usar la tecla <BACKSPACE> para borrar el caracter que se encuentra justo delante del cursor (caracter de ms a la izquierda del cursor).

Estando en el modo de edicin, en este caso insertando texto, podemos usar las teclas especiales, como por ejemplo, la tecla del tabulador, el <RETORNO> para bajar a la siguiente lnea, y como hemos visto el <BACKSPACE> para retroceder borrando.

Movimiento del cursor

Cuando hayamos finalizado de insertar el texto deseado, deberemos pulsar la tecla <ESC>, para de esa forma volver al modo comando, desde el cual podemos movernos y realizar otras operaciones con el texto.

En el momento en que en la pantalla exista algn texto podemos desplazar el cursor por encima de l, para situarnos en el lugar donde queremos efectuar alguna operacin. Si el teclado tiene teclas de movimiento del cursor (las flechas : , , , y ), stas se

utilizarn para desplazarse por el texto; si stas no estn disponibles, o simplemente no funcionan, podemos utilizar las siguientes teclas: Teclas (comandos) <BACKSPACE> Descripcin Como sabemos esta tecla, estando en el modo de edicin, retrocede borrando, sin embargo, en el modo de comando sirve para retroceder un espacio.

<BARRA ESPACIADORA>

La barra espaciadora acta desplazando el cursor un espacio adelante.

<RETORNO>

Desplaza el cursor al principio de la lnea siguiente.

La pulsacin de la letra j estando en el modo comando, causa que el cursor se desplace una lnea abajo.

Su movimiento es contrario al de la letra j, es decir, al pulsarla sube el cursor una lnea arriba.

Mueve el cursor una posicin hacia la izquierda.

Mueve el cursor una posicin hacia la derecha.

Segn lo que hemos visto, las mismas teclas que en el modo de edicin sirven para una cosa, en el modo comando sirven para otra, esto impide que nos movamos estando en el modo de edicin. Estando en el modo de edicin no se pueden utilizar las teclas de movimiento del cursor.

Si intentamos movernos ms all del lmite del texto que tengamos en pantalla, vi nos avisar emitiendo un pitido.

Con el fin de facilitar el movimiento por el texto, UNIX provee los siguientes comandos (recordar que slo pueden ser usados en el modo comando):

Teclas (comandos) ^

Descripcin Al pulsar ^, estando en cualquier posicin de una lnea, automticamente el cursor pasar al principio de dicha lnea.

Por medio de la pulsacin de $, podemos desplazar el cursor hasta el final de la lnea en la que encontremos.

Con este comando, por defecto,

podemos movernos al

principio de la ltima lnea del archivo, si se pulsa un nmero y seguidamente G nos podremos mover al principio de la lnea que se indique. w Mover el cursor al principio de la siguiente palabra, es un movimiento relativo; en el caso de que en la lnea no queden ms palabras, el cursor se trasladar a la siguiente lnea, si es que existe. b Es el comando complementario del anterior, ya que su finalidad es desplazar el cursor al principio de la palabra anterior. De forma similar, si ya estamos al principio de la lnea, se mover a la palabra de la lnea anterior de la actual. H La finalidad de este comando es situar el cursor en la esquina superior izquierda de la pantalla, posicionndose al principio del texto que haya en la misma. M Al pulsar M, el cursor se desplazar hasta el centro del texto que se encuentre en pantalla. L Mover el cursor hasta el final del texto que haya en la pantalla, a la posicin inferior derecha de la misma.

Desplazar el texto

A continuacin tenemos una serie de comandos que servirn para desplazar el texto por la pantalla, en lugar del cursor por el texto.

Teclas (comandos) z

Descripcin Con el comando z, podemos situarnos en una cierta lnea del texto. Antes de z tendremos que pulsar el nmero de lnea al que deseamos movernos, y tras pulsar z hemos de pulsar <RETORNO>; la lnea indicada pasar a ocupar la primera posicin en la pantalla.

Ctrl f

Muestra la siguiente pantalla de texto; la amplitud, en lneas, de esta pantalla, se puede delimitar con la opcin w al entrar en vi.

Ctrl b

Muestra la pantalla anterior de texto. Delante de este comando y del anterior podemos, si lo deseamos,

especificar un nmero de pantallas a saltar, pulsando dicho nmero y a continuacin el comando.

Comandos de insercin de texto

Teclas (comandos) i

Descripcin Si nos movemos a la mitad de un texto, pulsamos i, y a continuacin comenzamos a entrar texto, ste ir

desplazando a todo el texto que hubiese a la derecha del cursor. I En el caso de que deseemos entrar texto pero desde el principio de la lnea, podemos usar el comando I. La nica diferencia con el anterior, es que antes de comenzar a insertar, el cursor se posicionar al principio de la lnea. a El comando a comienza a insertar texto a partir del siguiente caracter de donde se encuentre el cursor.

Con el comando A se insertar texto desde el final de la lnea actual, estemos donde estemos.

o, O

Para escribir una lnea entre dos lneas de texto contiguas (una lnea intermedia) podemos usar los comandos o u O, no importa el lugar de la lnea donde nos encontremos, su finalidad es abrir una lnea en blanco, situar el cursor al principio de la misma, y comenzar a entrar texto. La diferencia estriba en que con el primero, la lnea se abrir debajo de la actual, y con O encima.

Comandos de modificacin de texto

Hemos visto anteriormente los comandos que nos permiten insertar texto desde distintas posiciones; UNIX posee una serie de comandos que permiten modificar el texto, sobreescribiendo sobre l, cambindolo o simplemente borrndolo.

Teclas (comandos) r

Descripcin Para sustituir un cierto caracter del texto que tengamos, el primer paso ser movernos hasta el caracter a modificar, situando el cursor sobre l, a continuacin usaremos el comando r, por ltimo pulsaremos el nuevo caracter que deseamos entrar.

Si deseamos sobreescribir no slo un caracter, sino sobre toda la lnea de texto, nos moveremos al lugar donde

deseamos comenzar a sobreescribir, y en ese punto pulsaremos R. El comando R nos permitir sobreescribir el texto existente hasta que pulsemos la tecla <ESC>.

x, X

Si lo que deseamos es borrar texto, tenemos varias posibilidades; con el comando x, podemos borrar el caracter que se encuentre sobre el cursor, haciendo que todo el texto que se encuentre a su derecha retroceda una posicin. Para borrar como debera de hacerlo la tecla <BACKSPACE>, podemos utilizar el comando X, que borrar el caracter que se encuentre a su izquierda, retrocediendo un lugar el cursor y todo el texto que hubiese a continuacin. Si se especifica un nmero delante del comando x, se borrarn tantos

caracteres como especifique el nmero. Por ejemplo, 5x permitir borrar 5 caracteres consecutivos de la lnea de texto en que nos encontremos, a partir de la posicin del cursor. D, dd Para borrar caracter a caracter tenemos las dos posibilidades anteriores; con el comando D, borraremos desde la posicin actual del cursor hasta el final de la lnea; y con el comando dd borraremos la lnea completa. Si se especifica un nmero delante del comando dd, se borrarn tantas lneas de texto como indique el nmero. Por ejemplo, 7dd permitir borrar 7 lneas consecutivas del archivo a partir de la lnea en que nos encontremos. dw Con el comando dw podemos borrar la palabra sobre la cual se encuentra el cursor. u El comando u deshace la ltima accin que hubiese afectado al buffer del editor vi. No importa cual comando use, puede deshacer cualquier borrado usando el comando u. U El comando U restaura la lnea en la que nos encontremos a su contenido original.

Comandos para grabar, salir y abandonar

Teclas (comandos) :w

Descripcin El comando :w permite escribir datos al archivo original, el comando :w archivo escribe los datos al archivo

especificado, y :w>>archivo anexa datos al archivo que se especifique.

:wq

El comando :wq se comporta como :w, pero en lugar de seguir en la edicin del archivo, la orden :wq permite grabar o escribir datos al archivo original y luego abandonar la edicin.

:q

Si ninguna modificacin se ha efectuado sobre el archivo, desde el momento de su apertura, el comando :q permite abandonar el archivo.

:q!

Si se han efectuado modificaciones al archivo original, y se desean desestimar, el comando :q! Permite abandonar la edicin del archivo sin grabar los cambios efectuados despus de la ltima accin de grabado.

Un completo Manual de vi puede ser encontrado http://www.dc.fi.udc.es/~afyanez/info-vi/index.html

en

el

siguiente

link:

You might also like