UNIDAD DIDACTICA 4 EL EDITOR VI Eduard Lara 1 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 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 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 2. COMANDOS BÁSICOS DEL EDITOR VI SALIR DEL EDITOR VI comando descripción :q Sale del editor. Si hay cambios pendientes de guardar NO permite salir del editor. :q! Sale del editor sin salvar los cambios. :wq Salva los cambios y sale del editor. :e! Descarta los cambios realizados en el fichero y se edita de nuevo el fichero. GUARDAR LOS CAMBIOS comando :w :w file :wq! Descripción Guarda los cambios. Guarda los cambios en el archivo file. Salva los cambios y sale del editor. 5 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 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. dw Borra una palabra a la derecha de la posición actual del cursor. dnw Borra n palabras a la derecha de la posición actual del cursor. dd ndd D Borra la línea actual. Borra n líneas a partir de la posición actual del cursor. Borra hasta el final de la línea actual. 7 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 :g/texto1/s//texto2/g Reemplaza texto1 por texto2 en todo el fichero. :g/texto1/s//texto2/gc Reemplaza texto1 por texto2 en todo el fichero. Pide confirmación en cada sustitución. 8 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 yy descripción Copia la línea actual en el buffer. nyy Copia n líneas a partir de la posición actual en el buffer. yw Copia en el buffer a partir de la posición del cursor hasta el final de la palabra. nyw Copia en el buffer a partir de la posición del cursor n palabras. 9 2. COMANDOS BÁSICOS DEL EDITOR VI PEGAR TEXTO DEL BUFFER comando descripción P Inserta el contenido del buffer a la izquierda de la posición actual del cursor. nP Inserta n veces el contenido del buffer a la izquierda de la posición actual del cursor. p Inserta el contenido del buffer a la derecha de la posición actual del cursor. np Inserta n veces el contenido del buffer a la derecha de la posición actual del cursor. 10 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 :ar Visualiza los nombres de los archivos abiertos por el editor vi. :n Permite pasar a editar el siguiente archivo abierto. :e file Permite editar otro fichero llamado file. :r file Permite insertar el archivo file en la posición actual del cursor. 11 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 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 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