next up previous contents
Next: Editor de línea ed Up: Editores Previous: Editores   Índice General

Editor de pantalla completa vi

El editor más frecuente en Unix es vi. Es un editor que trabaja línea a línea y que muestra una pantalla de texto a la vez.

Para inciar una sesión de edición, se ejecuta el programa vi seguido del nombre del archivo a editar, y dado el caso también la trayectoria. Por ejemplo, para editar el arvhivo /tmp/borrame, basta con dar vi /tmp/borrame, o para editar un archivo en el directorio actual: vi borrame.

Si el archivo no existe vi lo crea. De igual manera, podemos simplemente invocar a vi, comenzar a escribir y despúes nombrar el archivo al momento de salvarlo.

Al ser ejecutado vi, presenta una pantalla con el texto del archivo, y las líneas después del final del archivo aparecen con el carácter ~ para indicar que a partir de ahí el archivo está vacio. Obviamente, si comenzamos a editar un archivo nuevo, todas las líneas aparecerán con éste carácter.

Tiene tres modos de trabajo. El modo de inserción, el de edición y el de comandos.

En el modo de inserción, toda la entrada que demos en el teclado se inserta en el archivo en el punto donde se encuentre el cursor. En el modo de edición daremos instrucciones que alteran el contenido, como por ejemplo para posicionarse en determinado punto, hacer reemplazos de texto, copiar o mover bloques de texto, etc. En el modo comandos se dan instrucciones para salvar el archivo, traer a edición otro, insertar otro archivo en el punto donde se está, terminar la edición, etc.

En el modo edición, las instrucciones para mover el cursor en del texto son:

comando se desplaza:
l un espacio a la derecha
h un espacio a la izquierda
j una línea hacia abajo
k una línea hacia arriba
$ al final de la línea
^ al principio de la línea
w a la siguiente palabra
e al final de la palabra
b al principio de la palabra
) al final de la frase
( al inicio de la frase
{ al inicio del párrafo
} al final del párrafo
n| a la columna n-ésima
H a la primera columna de la primera línea de la ventana
L a la primera columna de la última línea de la ventana
nG a la primera columna de la n-ésima línea del archivo

Para el control de la parte del texto que se despliega en la pantalla:

instrucción acción:
^d desliza el texto hacia arriba
^u desliza el texto hacia abajo
^f despliega la ventana de texto siguiente
^b despliega la ventana de texto anterior
^l redespliega el texto en la ventana actual

Las instrucciones para borrar texto:

dw suprime la palabra donde está el cursor
dd suprimir la línea donde está el cursor
D borra el texto entre el cursor y el fin de la línea
x borra el carácter sobre el que esta el cursor

Para hacer reemplazos de texto:

cw cambiar la palabra actual
cc cambiar la línea actual
C cambiar desde el cursor hasta el final de la línea
r cambiar el carácter sobre el que está el cursor

Algunas instrucciones suplementarias:

u anular la última instrucción dada
/ realiza una búsqueda hacia adelante
? realiza una búsqueda hacia atrás
n busca la siguiente ocurrencia de la última búsqueda
. repite la última instrucción
Y extrae la línea
p se coloca en la línea de abajo
P se coloca en la línea de arriba
ZZ salva el archivo y termina la edición
ESC cancela una orden
: se cambia a modo comandos

Cuando vi esta en modo de edición, para cambiarse a modo inserción se hace con el carácter i y se posiciona antes del cursor y con a después de éste. Con Esc se cambia a modo edición de nuevo.

En modo de comandos, se tienen las siguientes funciones:

:w salva el archivo en el disco
:q abandona la edición sin guardar los cambios
:wq escribe y termina
:q! abandona sin escribir cuando se realizó algún cambio.
:r carga otro archivo
:e edita el archivo
:f cambia o dá nombre al archivo actual
:n se posiciona en la n-ésima línea
:Esc se pasa a modo de edición

vi tiene muchas más instrucciones y es capáz de realizar tareas muy complejas. Es importante conocer la mayoría de ellas para hacer más eficiente nuestro trabajo, pero son demasiado extensas para incluirlas todas en este curso. Existen libros especializados donde se describe con toda sobriedad esta poderosa herramienta.

Existen además de vi otros editores para Unix, incluso más poderosos que él, pero esto depende de cada implementación de Unix. vi y ex (que por ser algo más limitado, no trataremos aquí) son los únicos que se garantiza que se pueden encontrar en cualquier instalación de Unix. Entre los editores más populares se encuentra Emacs, pero cuenta con un conjunto de instrucciones realmente complejo, lo cual forma parte de su tradición de ser para usuarios avanzados.

Haremos ahora un ejemplo para familiarizarnos con vi. Comenzaremos editando un archivo nuevo que se llamará cordero.txt. Invocamos a vi con este argumento,

$vi cordero.txt

ahora la pantalla se limpia y aparecen varios renglones con tildes en el márgen izquierdo y en la parte inferior izquierda aparece el mensaje ¨cordero.txt¨ [New file], que indica que se esta creando un archivo nuevo.

~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
 "cordero.txt" [NEW FILE] 1 line, 1 char

En este momento nos encontramos en el modo de edición con el cual podemos iniciar la captura del texto. Para esto damos la instrucción i y nos pasamos a modo inserción. Ahora podemos escribir cualquier texto que necesitemos.

Cuando se tengan un par o más párrafos podemos ejercitar algunas de las instrucciones para movernos por el texto y para realizar búsquedas e incluso reemplazos.

Nuevamente, para tener un conocimiento más profundo de vi es recomendable ver la página de vi con man vi.


next up previous contents
Next: Editor de línea ed Up: Editores Previous: Editores   Índice General
Ismael Olea 2001-04-21