2. 1. INTRODUCCIÓN
Vi es un editor de texto usado para editar ficheros de
texto, archivos de configuración del sistema o programas
escritos en C.
Aunque hay muchos editores de texto en GNU/LINUX
(seguramente más fáciles de usar y mas auto explicativos),
el editor vi es el único editor que está disponibles en todas
las distribuciones de UNIX.
Uno de los puntos fuertes del editor vi es la posibilidad
de manipular el editor sin mover las manos del teclado.
Lista de editores Linux:
- GEDIT - XEDIT - ED - EMACS - VIM
- JOE - JED
2
3. 1. INTRODUCCIÓN
Para ejecutar vi, ejecutaremos vi + fichero:
vi ejemplo.txt
En el terminal de texto se muestra el contenido del
archivo, o si el archivo especificado no existe, aparece
una pantalla en blanco.
3
4. 1. MODOS DE FUNCIONAMIENTO
DEL EDITOR VI
El editor vi tiene dos modos de funcionamiento:
el modo comandos
el modo de inserción.
En el modo de comandos el editor vi permite navegar
por el texto e introducir comandos. Las teclas del teclado
son interpretadas como comandos o ordenes del editor vi
en vez de texto. Los comandos son combinaciones de una
o más letras (el editor vi diferencia entre minúsculas y
mayúsculas). La tecla ESC sale del modo de inserción y
nos devuelve al modo de comandos
Para insertar o escribir caracteres es necesario pasar
al modo de inserción. La tecla “i” pasa del modo de
comandos al modo de inserción.
4
5. 2. COMANDOS BÁSICOS
DEL EDITOR VI
SALIR DEL EDITOR VI
comando descripción
Sale del editor. Si hay cambios pendientes de guardar NO permite
:q
salir del editor.
:q! Sale del editor sin salvar los cambios.
:wq Salva los cambios y sale del editor.
Descarta los cambios realizados en el fichero y se edita de nuevo el
:e!
fichero.
GUARDAR LOS CAMBIOS
comando Descripción
:w Guarda los cambios.
:w file Guarda los cambios en el archivo file.
:wq! Salva los cambios y sale del editor.
5
6. 2. COMANDOS BÁSICOS
DEL EDITOR VI
NAVEGAR POR EL FICHERO
comando descripción
k Desplaza el curso una línea arriba.
j Desplaza el curso una línea abajo.
h Desplaza el curso un carácter a la izquierda.
l Desplaza el curso un carácter a la derecha.
Ctrl+b Desplaza el curso una página arriba.
Ctrl+f Desplaza el curso una página abajo.
Ctrl+g Muestra el número de línea actual.
nG Se desplaza a la línea n.
6
7. 2. COMANDOS BÁSICOS
DEL EDITOR VI
BORRAR TEXTO
comando descripción
x Borra un carácter a partir de la posición actual del cursor.
nx Borra n caracteres a partir de la posición actual del cursor.
Borra una palabra a la derecha de la posición actual del
dw
cursor.
dnw Borra n palabras a la derecha de la posición actual del cursor.
dd Borra la línea actual.
ndd Borra n líneas a partir de la posición actual del cursor.
D Borra hasta el final de la línea actual.
7
8. 2. COMANDOS BÁSICOS
DEL EDITOR VI
BUSCAR TEXTO
comando descripción
/texto Busca hacia delante “texto”.
?texto Busca hacia tras “texto”.
n Busca la próxima coincidencia.
N Busca la anterior coincidencia.
REEMPLEZAR TEXTO
comando descripción
Reemplaza texto1 por texto2 en todo el
:g/texto1/s//texto2/g
fichero.
Reemplaza texto1 por texto2 en todo el
:g/texto1/s//texto2/gc
fichero. Pide confirmación en cada sustitución.
8
9. 2. COMANDOS BÁSICOS
DEL EDITOR VI
DESHACER UN CAMBIO
comando descripción
u Deshace el último cambio.
nu Deshace los n últimos cambios.
U Deshace todos los cambios de la línea actual.
COPIAR TEXTO EN EL BUFFER
comando descripción
yy Copia la línea actual en el buffer.
nyy Copia n líneas a partir de la posición actual en el buffer.
Copia en el buffer a partir de la posición del cursor hasta el
yw
final de la palabra.
Copia en el buffer a partir de la posición del cursor n
nyw
palabras.
9
10. 2. COMANDOS BÁSICOS
DEL EDITOR VI
PEGAR TEXTO DEL BUFFER
comando descripción
Inserta el contenido del buffer a la izquierda de la posición
P
actual del cursor.
Inserta n veces el contenido del buffer a la izquierda de la
nP
posición actual del cursor.
Inserta el contenido del buffer a la derecha de la posición actual
p
del cursor.
Inserta n veces el contenido del buffer a la derecha de la
np
posición actual del cursor.
10
11. 2. COMANDOS BÁSICOS
DEL EDITOR VI
EDICION DE FICHEROS MULTIPLE
El editor vi permite trabajar con varios archivos
simultáneamente. Únicamente es necesario especificar en
la línea de comandos los archivos que queremos abrir:
vi ejemplo1.txt ejemplo2.txt ejemplo3.txt
comando descripción
Visualiza los nombres de los archivos abiertos por el
:ar
editor vi.
:n Permite pasar a editar el siguiente archivo abierto.
:e file Permite editar otro fichero llamado file.
Permite insertar el archivo file en la posición actual del
:r file
cursor.
11
12. 2. COMANDOS BÁSICOS
DEL EDITOR VI
EJECUCIÓN DE ÓRDENES DEL SHELL
El editor vi permite la ejecución del interprete de
comandos desde la línea de ordenes. El carácter “!” indica
al editor que la siguiente instrucción es una orden del
shell. La orden “:r ! orden” permite insertar en la posición
actual el resultado de la orden del shell.
Por ejemplo, el comando del editor vi
:r !ls –la /root
inserta en la posición del cursor el listado de archivos del
directorio /root
12
13. PRACTICA 3
EDITOR VI
Paso 1. Explica los dos modos de funcionamiento del editor Vi y como pasar de uno a
otro
Paso 2. Crear un archivo de texto nuevo llamado lpi.txt y escribir el
siguiente texto. Forzar un salto de línea al final de cada línea
(tecla enter) del texto.
“The Linux Professional Institute, or LPI, is a non profit
organization formed around the notion of certifying Linux
administrators through a sort of open source process. The LPI
seeks input from the public for its exam Objectives and
questions, and anyone is welcome to participate. It has both paid
and volunteer staff and receives funding from some major names
in the computer industry”
Paso 3. Guardar los cambios y salir del editor Vi.
Paso 4. Editar otra vez el archivo lpi.txt y guardarlo como
lpi.txt.new
13
14. PRACTICA 3
EDITOR VI
Paso 5. Reemplazar el texto “LPI” por “LPI (www.lpi.org)” en todo el
documento.
Paso 6. Copiar las dos primeras líneas del texto y pegarlas dos veces
al final del texto.
Paso 7. Guardar los cambios en lpi.txt.new
Paso 8. Situarse en la línea 3 mediante la orden nG. Eliminar la 3ª y
4ª línea del texto con un sólo comando.
Paso 9. Salir y descartar los cambios realizados en el documento.
Paso 10. Abrir un archivo nuevo e introducir el listado de archivos
del directorio /root.
Paso 11. Guardar los cambios como lsroot.txt y salir del editor Vi.
Paso 12. Abrir los archivos lpi.txt y lsroot.txt simultáneamente.
Paso 13. Copiar al buffer las dos primeras líneas del archivo
lsroot.txt y pegarlas al final del archivo lpi.txt.
Paso 14. Salir y descartar los cambios realizados.
14