Introducción al editor de textos vi

Anuncio
Introducción al editor de textos vi
El editor vi es lo que se conoce como un editor de pantalla. Los sistemas basados en UNIX
(como GNU/Linux) en general traen consigo instalados varios editores de texto y vi es uno de los más
conocidos y accesibles.
vi no utiliza menús desplegables, ni teclas de función convencionales. Sin embargo, vi es un
editor de textos extremadamente potente, cuyo manejo con la práctica permite realizar tareas avanzadas
de edición muy rápidamente.
Para hacer uso de este editor, sólo se necesita pasarle como argumento el nombre del archivo a
editar. La sintaxis es:
$ vi <nombre_de_archivo>
Básicamente, vi posee dos modos de funcionamiento: el modo de inserción y el modo de
comandos. Apenas se carga vi, el editor se encuentra en modo de comandos, es decir, que el teclado no
está activado para recibir texto y agregarlo al archivo, sino que cada tecla del teclado corresponde a un
comando del editor (más adelante se listarán los comandos más comúnmente utilizados).
Modos de trabajo de vi
Para ingresar al modo de inserción, sólo es necesario presionar la tecla Insert del teclado.
Luego ya es posible ingresar texto normalmente, como se puede observar en la Figura 1. Para volver al
modo de comandos, basta con presionar la tecla Esc.
Figura 1: vi en modo inserción.
En modo de comandos, se debe tener en cuenta que generalmente el comando que se ejecuta se
aplica a la línea o carácter donde se encuentre el cursor. Así por ejemplo, si se presiona la tecla x1, se
borra el carácter donde el cursor está posicionado. Otro ejemplo es, si se presiona 2 veces consecutivas
la tecla d, se eliminará la línea completa donde se encuentre el cursor.
1
Siempre se debe tener en cuenta que las mayúsculas se diferencian de las minúsculas. Es un error muy común tener el
bloqueo de mayúsculas activado (haber presionado la tecla bloq mayús).
Además del modo de comandos normal que posee vi, donde no es necesario presionar la tecla
Enter para ejecutar comandos, existe otra manera de ejecutarlos: vi utiliza detrás de cámaras el editor
de línea ex. Muchos de los comandos que se necesitan, se ejecutan a través de ex. Para activar el modo
de comandos de este editor de línea, se presiona la tecla “:” y luego se escribe el comando, seguido de
la tecla Enter.
Por ejemplo, para salir de vi sin guardar en disco el archivo que se está editando, se debe
escribir :q! seguido de la tecla Enter.
Una particularidad que posee vi es la de poder hacer repeticiones de comandos. Si se escribe un
número (en modo de comandos, por supuesto) inmediatamente seguido de un comando, este comando
se ejecutará la cantidad de veces que se le haya especificado.
Por ejemplo, si se necesita eliminar 3 líneas de texto con el comando 3dd se puede realizar, en
lugar de ejecutar dd 3 veces.
A continuación se listan los comandos más comúnmente utilizados:
Teclas
Comando
i
Ingresar al modo inserción.
r
Ingresar al modo inserción (reemplazo).
cw
Reemplazar hasta el final de la palabra.
D
Borrar desde el cursor hasta el final de la línea.
ZZ
Salir de vi grabando los cambios.
$
Ir al final de la línea. Equivalente a la tecla Fin.
^
Ir al comienzo de la línea. Equivalente a la tecla Inicio.
dd
Cortar línea al portapapeles (también se usa para borrar).
Y
Copiar la línea actual al portapapeles.
p
Pegar el contenido del portapapeles a la derecha del cursor.
P
Pegar el contenido del portapapeles a la izquierda del cursor.
o
Comenzar la edición abajo del cursor.
O
Comenzar la edición arriba del cursor.
a
Comenzar la edición a la derecha del cursor.
Además, los comandos de ex más comúnmente utilizados son:
Teclas
Comando
:wq
Salir de vi grabando los cambios.
:w
Grabar los cambios sin salir.
:n,m s/texto1/texto2/g
:q!
Buscar texto1 y reemplazarlo por texto2 desde la
línea número n hasta la línea número m (se puede
escribir $ para hacer referencia al final del archivo).
Salir sin guardar los cambios.
Como comando adicional, es importante nombrar al comando de búsqueda. Éste se ejecuta
presionando la tecla “/” seguida de la cadena de texto a buscar y Enter para confirmar. El cursor se
posicionará en la primera ocurrencia de la cadena a buscar. Presionando n se buscará la siguiente
ocurrencia de la búsqueda.
Búsqueda y reemplazo en vi
Una tarea que quizás parezca complicada es la de buscar y reemplazar, por lo que se presenta un
ejemplo aclaratorio. Supóngase el caso de la Figura 2. Se puede observar que se quiere reemplazar
desde la línea 1 hasta el final del archivo todas las ocurrencias de vi por emacs2. El resultado se puede
observar en la Figura 3.
Figura 2: Comando de buscar y reemplazar en vi.
Figura 3: Resultado del reemplazo en vi.
2
Emacs es otro editor de textos muy utilizado en Linux.
Como se ve, se han reemplazado todas las ocurrencias de la cadena vi. Esto a veces no es lo
correcto, como puede observarse.
Repetición de comandos en vi
Suponga que se tiene un párrafo de 10 líneas en un texto que se debe mover a otro sitio del
archivo. Una solución no muy óptima es borrar las líneas y volverlas a escribir donde corresponde;
pero mejor aún es cortar esas 10 líneas y pegarlas en el sitio nuevo. Para ello, el cursor debe estar
posicionado en la primera línea del párrafo. Posteriormente, se debe teclear el comando 10dd,
posicionar el cursor en el lugar donde debe ir el párrafo y, finalmente, teclear el comando p. ¡Así de
fácil!
Descargar