Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Manual Del Editor Vi
Manual Del Editor Vi
Pgina 1
EDITOR VI
El editor vi es el editor por excelencia de UNIX. Es bastante potente y complicado de manejar a pleno rendimiento, debido a la gran
cantidad de opciones que tiene, pero es fcil dar los primeros pasos e ir avanzando poco a poco. Es difcil de utilizar al principio, pero puede
llegar a convertirse en el ms cmodo y rpido.
En UNIX existen otros editores ms potentes, con entornos de trabajo ms amigables, otros ms sencillos de manejar, pero el nico editor
que est en todas las versiones y se maneja igual es el vi.
La sintaxis del comando vi es, al igual que la de cualquier comando UNIX:
vi [opciones] archivo
Entre las opciones ms importantes se pueden destacar:
-r : Recupera la copia del archivo que existe en los directorios temporales. Es til en caso de que se haya apagado el terminal sin
haber salvado el texto.
-c : Ejecuta el comando, de vi, que se indica a continuacin. Es til para posicionarse en algn punto del archivo
En vi existen 3 modos de trabajo:
Modo comando: cada tecla tiene un significado, y se puede desplazar el cursor, copiar, pegar, mover, borrar, etc. Hay que tener
mucho cuidado, pues un comando en minsculas o en maysculas tienen efectos muy diferentes.
Modo texto: se emplea para aadir o modificar el texto del documento.
Modo ex: insercin de comandos del editor de lneas ex. Se emplea para cambios masivos en el documento.
En las pginas siguientes se detallan los comandos ms importantes de vi clasificados segn el modo en que se ejecutan y las tareas que
realizan.
vi es independiente del tipo de terminal, pero la variable de ambiente TERM debe estar fijada correctamente. Si no se conoce o no existe,
en la base de datos de terminales del sistema, el tipo exacto de terminal con el que se est trabajando, se puede usar el tipo vt100 o el
ansi (dan buenos resultados en la mayora de los terminales).
Para modificar el tipo de terminal se deber teclear:
TERM=[tipo de terminal];export TERM
o directamente:
export TERM=[tipo de terminal]
Con algunos comandos, especialmente more y a veces vi, el terminal o el emulador que se est usando pueden no responder bien, que no
aparezcan los cambios que se realizan correctamente en la pantalla. En estos casos, puede usarse Ctrl-l para refrescar la pantalla.
Un usuario puede generar bajo su directorio $HOME un archivo llamado .exrc, en el que podr adaptar el entorno del editor vi a su gusto.
En este archivo se pueden incluir:
http://club.telepolis.com/jagar1/Unix/Vi.htm
29/05/2006 15:04:28
Editor vi
Pgina 2
Opciones set
set [opcion[=valor]]
Abreviaturas ab
ab [abr] [cadena]
Macros map.
map [Key|#n] [accin]
donde:
Key : expresa una letra especial (no utilizada en vi). Por ejemplo v, V, q, K, Ctrl-A, etc. Las teclas correspondientes a las flechas se
pueden definir como macros si es que no se encuentran definidas por defecto.
n : expresa un nmero
accin : es un comando de vi, teniendo en cuenta que antes de teclear un Escape o Return, o cualquier carcter de control hay que
teclear Ctrl-v.
Tanto las opciones, como las abreviaturas y macros se pueden definir en modo ex para la edicin en curso, pero solo tendrn valor durante
la edicin actual, no siendo vlidas para las siguientes llamadas al comando vi. Por ello, para que afecte a cualquier llamada del comando
vi, ser necesario insertarlas en el archivo .exrc.
MODO TEXTO
Reemplaza caracteres.
cw
Reemplaza palabras.
C o c$
c0
Los comandos de reemplazo admiten multiplicadores que consisten en un nmero antecediendo al comando. Al dar un comando de
reemplazo el editor coloca un smbolo $ en donde termina el pedido de reemplazo. El usuario sobrescribe normalmente hasta donde
necesite, y sale con la tecla ESC. Estos comandos admiten multiplicadores, por ejemplo 3cw abre un rea de reemplazo para 3 palabras.
Otros
BS (Back Space)
ESC
MODO COMANDO
Algunos de estos comandos admiten multiplicadores, que consisten en un nmero antecediendo al comando.
http://club.telepolis.com/jagar1/Unix/Vi.htm
29/05/2006 15:04:28
Editor vi
Pgina 3
h BS (Back
Space)
l SP (Espacio)
k -
j +
Fin de lnea.
0 (Cero)
Principio de lnea.
1G
18G
Ctrl-G
Al medio de la pantalla.
23|
Ctrl-f
Ctrl-b
Ctrl-l
Refrescar la pantalla.
Ctrl-d
Ctrl-u
Bsqueda
/str
?str
fc
Fc
tc
Tc
dd
dw
d$
d0
d)
Y o yy
Copiar lnea.
http://club.telepolis.com/jagar1/Unix/Vi.htm
29/05/2006 15:04:28
Editor vi
Pgina 4
p
yw
Copiar palabra.
y$
"ayy o "aY
'a' "ayw
"ap
"aP
"bdd
"bdw
Otros
ZZ
Deshacer todos los cambios en una lnea desde que se posicion el cursor en
ella.
Generales
:q
:q!
:w
Guardar cambios.
:w arch1
:wq
:r arch2
Insertar un archivo.
:e arch2
:e! arch2
:r! comando
:shell
:.=
Mover
:1
Mueve a lnea 1.
:15
:$
Mueve a ltima
lnea.
Cambio de opciones.
:set nu
:set nonu
:set showmode
http://club.telepolis.com/jagar1/Unix/Vi.htm
29/05/2006 15:04:28
Editor vi
Pgina 5
:set noshowmode
:ab
:una [abr]
:map
Otros
:[desde],[hasta] s/[buscar]/
[reemplazar]/
Reemplaza todas la primera ocurrencia de la cadena [buscar], en cada lnea, por la cadena
[reemplazar] entre las lneas [desde] y [hasta] del archivo.
:[desde],[hasta] s/[buscar]/
[reemplazar]/g
Reemplaza todas las ocurrencias de la cadena [buscar] por la cadena [reemplazar] entre las
lneas [desde] y [hasta] del archivo.
:[desde],[hasta] d
Ejemplos:
:1,$s/Martes/martes/g
:.,5s/ayuda/&ndo/g
:.,$ d
Elimina todas las lneas desde la lnea actual al final del archivo.
http://club.telepolis.com/jagar1/Unix/Vi.htm
29/05/2006 15:04:28