next up previous
Next: Imprimiendo documentos. Up: La edición de ficheros Previous: La edición de ficheros

Editando un fichero (vi).

Aunque parezca lo contrario, el editor de ficheros vi es probablemente uno de los editores de ficheros  ASCIIASCII más potentes y a primera vista, de los menos amigables. Quizás la culpa de esto sea consecuencia de su principal ventaja: la ínfima cantidad de ancho de banda que consume de la red. Esto hace a vi idóneo para la edición de ficheros en redes lentas. Fue inicialmente desarrollado para el  BSD UNIXBSD UNIX en Berkeley y posteriormente introducido como una utilidad estándar para el  System VSystem V. Esta es la razón por la que vi está disponible en todos las versiones del sistema operativo UNIX. Podemos invocar al vi sin o con parámetros. Si lo hacemos sin parámetros obtendremos una pantalla casi vacía en la que únicamente existe un carácter   por cada línea vacía que existe en el fichero que estamos creando. Al final, vi nos da el mensaje:



width 3pt
width .3pt415pt"[NO FILE]"  1 line, 1 char width .3pt
depth .3pt width -3pt

que indica que no hemos dado nombre de fichero y que estamos en la primera línea, primer carácter. Supongamos que tenemos un fichero ya creado llamado fichero.txt. Para editarlo podemos teclear: vi fichero.txt y el fichero aparecerá en pantalla. Es importante señalar que dependiendo del tipo de terminal que tengamos definido en la  variable de entornovariable de entorno $TERM, vi actuará consecuentemente. En Linux el  tipo de terminaltipo de terminal indicado es  con80x25con80x25 o  LinuxLinux con lo que vi presenta ciertas cualidades extra. Por ahora hablaremos únicamente de las características básicas y comunes a todas las implementaciones del vi . La modificación de la variable de entorno $TERM se estudia en próximas secciones.

Una vez que hemos ejecutado el editor vi , éste espera a que le demos una o varias órdenes. vi tiene dos modos de funcionamiento llamados  modo de entrada de textomodo de entrada de texto y  modo de comandosmodo de comandos. El primero sirve para alterar el texto del fichero que estamos editando y el segundo para movernos por el texto, buscar o reemplazar cadenas, etc.

1.
Introduciendo texto. Estando en el modo de comandos, para crear o modificar el contenido del fichero que estamos editando pulsaremos una de las siguiente teclas:

\begin{displaymath}\vline
\begin{tabular}{l\vert l}
\hline
{\bf Tecla} & {\bf A...
...artir de donde está el cursor. \\
\hline
\end{tabular}\vline
\end{displaymath}

Todo el texto que entremos será presentado en la pantalla y si hemos de borrar caracteres, podemos hacerlo con la tecla backspace . Normalmente, el uso de los  cursorescursores para movernos por el texto, no está permitido en el modo de inserción, debido a que es interpretado como  caracteres ASCIIcaracteres ASCII regulares (cosa que no ocurre en la versión mejorada el vi en Linux). En la versión estándar del vi , deberemos de colocarnos primero en el modo de comandos para usar los cursores. Esto es consigue pulsando la tecla escape .

2.
El modo de comandos. Para activar este modo deberemos de pulsar la tecla escape . Si estando en modo de comandos pulsamos esta tecla, escucharemos un pitido indicando que ya estamos en dicho modo, pero no ocurre nada. Este es el modo en el realizamos los siguientes tratamientos:

(a)
Movimiento del cursor. Estando en el modo de comandos podemos realizar los siguientes movimientos:

\begin{displaymath}\vline
\begin{tabular}{l\vert l}
\hline
{\bf Tecla} & {\bf A...
...ter} & Ir a la línea {\sl nn}. \\
\hline
\end{tabular}\vline
\end{displaymath}

(b)
Borrando texto. Partiendo el modo de comandos, podemos utilizar las siguientes teclas para eliminar texto de un fichero ya creado:


\begin{displaymath}\vline
\begin{tabular}{l\vert l}
\hline
{\bf Tecla} & {\bf A...
...} & Borra un bloque de líneas. \\
\hline
\end{tabular}\vline
\end{displaymath}

Como ejemplos de indicación de rangos:


\begin{displaymath}\vline
\begin{tabular}{l\vert l}
\hline
{\bf Entrada} & {\bf...
...ea actual y las dos siguientes. \\
\hline
\end{tabular}\vline
\end{displaymath}

(c)
Reemplazando texto. Podemos entrar en el modo de sustitución de texto de las siguientes formas:


\begin{displaymath}\vline
\begin{tabular}{l\vert l}
\hline
{\bf Entrada} & {\bf...
...cipio de la línea y reemplaza. \\
\hline
\end{tabular}\vline
\end{displaymath}

(d)
Pegando texto. El editor vi posee un buffer de memoria dedicado al copiado y movimientos entre áreas del fichero. Dentro del modo de comandos lo usamos mediante:


\begin{displaymath}\vline
\begin{tabular}{l\vert l}
\hline
{\bf Entrada} & {\bf...
...ia el buffer tras la línea nn. \\
\hline
\end{tabular}\vline
\end{displaymath}

(e)
Insertando texto. Es posible insertar el contenido de un fichero externo al que estamos editando haciendo :r nombre_fichero enter ,que copia el fichero indicado después de la línea actual.

(f)
Buscando texto. vi permite buscar hacia delante o hacia detrás una cadena de caracteres a partir de la línea actual en la que nos encontramos. Las acciones posibles son:


\begin{displaymath}\vline
\begin{tabular}{l\vert l}
\hline
{\bf Entrada} & {\bf...
... & Repite la última búsqueda. \\
\hline
\end{tabular}\vline
\end{displaymath}

(g)
Buscando y reemplazando texto. Podemos realizar búsquedas y reemplazamientos globales de cadenas con los siguientes comandos:


\begin{displaymath}\vline
\begin{tabular}{l\vert l}
\hline
{\bf Entrada} & {\bf...
...ia de {\sl sss} por {\sl ttt} . \\
\hline
\end{tabular}\vline
\end{displaymath}

(h)
Salvando y leyendo ficheros. Una vez que hemos modificado el texto y deseamos salir o modificar otro ya existente, deberemos de usar los comandos:


\begin{displaymath}\vline
\begin{tabular}{l\vert l}
\hline
{\bf Entrada} & {\bf...
...un fichero en la línea actual. \\
\hline
\end{tabular}\vline
\end{displaymath}

(i)
Otros comandos de interés. Algunos comandos usados frecuentemente en el editor vi son:


\begin{displaymath}\vline
\begin{tabular}{l\vert l}
\hline
{\bf Entrada} & {\bf...
...las líneas \\
& del fichero. \\
\hline
\end{tabular}\vline
\end{displaymath}

Para ejecutarlos debemos estar en el modo de comandos.


next up previous
Next: Imprimiendo documentos. Up: La edición de ficheros Previous: La edición de ficheros
Vicente González Ruiz
1998-07-13