Uso del Editor vi de Linux Tiempo estimado: 30-45 Minutos Objetivos Familiarizarse con el Editor vi Repasar los tres modos del vi Repasar las pulsaciones de teclas para moverse entre los modos vi Crear un archivo nuevo con el Edi tor vi Invocar vi con el modo show (mostrar) Repasar los comandos grabar y salir Abrir un archivo existente con el Editor vi Usar comandos de edición Personalizar una sesión Usar comandos de búsqueda Equipo El siguiente equipo es necesario para este ejerc icio: Una ID de usuario (por ejemplo, studentA1) y password de sesión asignadas por el instructor. Una computadora con el sistema operativo Linux Red Hat 7.2 instalado. Escenario En este laboratorio, el estudiante usará una herramienta de edición de texto UNIX llamada Editor vi (se pronuncia “vi ai”). Este editor de texto es principalmente usado para crear y modificar archivos que personalizan el entorno de trabajo y para escribir archivos script para automatizar tareas. Los administradores de sistema usan editores de texto par crear y modificar archivos del sistema usados para networking, seguridad, aplicaciones compartidas, etc. El Editor vi se convirtió en parte de los sistemas operativos UNIX poco después del inicio del UNIX, y está universalmente dispon ible con los sistemas UNIX (incluyendo Linux). El Editor vi es un editor muy flexible y poderoso con muchas opciones. Éstas serás revisadas aquí con ejemplos de su uso. 1 - 10 IT Essentials II v3.0 Copyright 2004, Cisco Systems, Inc. Para los usuarios que están aprendiendo a ser administradores de sistema, es importante saber cómo usar el Editor vi. A veces es el único editor de pantalla completa disponible para editar archivos del sistema cruciales. Ejemplos de éstos son los scripts y los archivos de control del entorno. También se necesita habilidad para usar el Editor vi si el sistema de ventanas no está disponible. El Editor vi es una herramienta útil cuando se trabaja en forma remota sobre otras estaciones de trabajo o servidores Linux. Los administradores se conectar remotamente o por telnet en forma rutinaria con o tras computadoras Linux para realizar tareas de mantenimiento y de detección de problemas usando el Editor vi. La disponibilidad y operación del Editor vi es consistente entre todas las plataformas UNIX/Linux. Use el diagrama de árbol de directorio del Sis tema de Archivos de la Clase para ayudarse con este laboratorio . Paso 1: Iniciar sesión en Linux y entrar en X-Window (startx) Inicie sesión con el nombre de usuario y password asignadas por el instructor en el recuadro KDE. Paso 2: Acceder a la Línea de Comando Seleccione Terminal en la barra de tareas para abrir una ventana de terminal . Paso 3: Repasar los tres modos vi Existen tres modos de operación en el Editor vi. Comprender la función de estos tres modos es la clave para trabajar con el Editor vi . Todos los comandos disponibles en el Editor vi pueden clasificarse en uno de los tres modos . La tabla de abajo muestra los modos y una breve descripción de cada uno . Repase los tres modos y responda las siguientes preguntas. Modo Función / Característica Modo comando Es el modo predeterminado inicial para crear y editar archivos, posicionar el cursor y modificar el texto existente. Todos los comandos se inician desde este modo. Modo entrada Usado para ingresar texto nuevo. Al ingresar un comando de inser ción como i (insertar), a (agregar) y o (abrir línea nueva) se llevará al usuario del modo comando al modo in serción. Los comandos de inserción son independientes y se ingresan sin presionar la tecla Enter Modo última línea Usado para grabar el trabajo y salir del Editor vi. Escriba dos puntos (:) para entrar en este modo. Presionando la tecla Enter o Esc se regresa al modo de comando. 1. ¿Qué modo se usa principalmente para ingresar texto nuevo ? ____________________________________________________________ ___ 2. ¿Qué modo vi se usa para grabar el trabajo y salir del Editor vi ? _______________________________________________________________ 2 - 10 IT Essentials II v3.0 Copyright 2004, Cisco Systems, Inc. 3. Cuando se inicia el Editor vi, ¿qué modo es el predeterminado ? ___________________________________________________________ ____ Paso 4: Repasar las pulsaciones de teclas para moverse entre los modos vi La tabla de abajo muestra cómo cambiar de modo y pasar de un modo a otro. Repase las pulsaciones de teclas requeridas para moverse entre los modos y responda las siguientes preguntas. Desde el modo Al modo Comandos / Teclas Comando Entrada i (entrada), o (abrir línea nueva), a (agregar a la línea existente) Entrada Comando Presione Esc (Escape) Comando Última línea Dos puntos (:) Última línea Comando Presione Esc o Enter Entrada Última línea Presione Esc para regresar al modo Comando, luego ingrese dos puntos Última línea Entrada Presione Enter o Esc para regresar al modo Comando, luego ingrese un comando de inserción 1. ¿Qué comandos de carácter alfabético único pondrán al vi en modo Entrada? _______________________________________________________________ 2. ¿Qué tecla regresará al vi al modo Comando desde el modo Última línea o Entrada? _______________________________________________________________ 3. ¿Qué comando pondrá al v i en modo Última línea desde el modo Comando ? _______________________________________________________________ Paso 5: Crear un nuevo archivo con el Editor vi El Editor vi comienza a trabajar en modo comando. Siempre que invoque al Editor vi, el usuario está abriendo un archivo. El nombre del archivo a ser creado o editado puede especificarse cuando el usuario inicia el Editor vi , o un archivo nuevo puede ser abierto para nombrarse después. Es común iniciar el Editor vi y especificar un nombre de archivo. Si el archivo existe, es abierto para edición. Si el archivo no existe, es creado . Formato del comando: vi [option(s)] [filename] 1. Si inició sesión como el usuario raíz, cambie de usuario a otra cuenta (su -). Si no se conoce otra cuenta, pídale al instruc tor una cuenta disponible. Verifique que el estudiante esté en el directorio principal. ¿Qué comando usó ? _______________________________________________________________ 3 - 10 IT Essentials II v3.0 Copyright 2004, Cisco Systems, Inc. 2. Abra un archivo nuevo llamado miarchivovi usando el comando: vi miarchivovi. ¿Cómo se ve la pantalla del documento vi ? _______________________________________________________________ 3. Presione la letra i minúscula para comenzar a insertar texto en la primera línea. ¿Hay alguna indicación en la pantalla de que el usuario está en modo Entrada Inserción? _______________________________________________________________ 4. Escriba el nombre del estudiante. Si comete algún error, no trate de corregirlo en este momento. ¿El estudiante pudo ingresar texto en Modo Inserción ? _____________________________ __________________________________ 5. Presione la tecla Esc para dejar el modo Entrada Inserción y regrese al modo Comando. ¿Hay alguna indicación en la pantalla de que el usuario ha regresado al modo Comando? _________________________________________________ ______________ 6. Escriba dos puntos para ir del modo Comando al modo Última línea. ¿El usuario está ahora en la esquina inferior izquierda de la pantalla ante un prompt de dos puntos (:)? Si no lo está, presione Esc otra vez, e ingrese otro dos puntos . _______________________________________________________________ 7. Escriba una w minúscula (write – grabar el nuevo archivo), seguida por una q minúscula (quit – salir del Editor vi) y presione Enter. ¿Cuál fue el resultado de los comandos wq? ¿El usuario ha regresado al prompt de comando ahora ? _______________________________________________________________ 8. El nuevo archivo debería estar grabado en el directorio de práctica en el disco rígido. Muestre un listado largo de este directorio para verificar que el archi vo está allí (ls – l). ¿Cuántos bytes están en el archivo ? _______________________________________________________________ Paso 6: Repasar los comandos Grabar y Salir En los pasos anteriores, el estudiante creó un archivo y lo grabó con el comando w (write) y salió del Editor vi con el comando q (quit). Hay varios comandos Grabar y Salir disponibles en el Editor vi. La siguiente tabla muestra los más comunes . Nota: Los comando Grabar y Salir (excepto por ZZ) se ingresan sólo dentro del modo Última línea. 4 - 10 IT Essentials II v3.0 Copyright 2004, Cisco Systems, Inc. Comandos Grabar y Salir Comando Significado :w Graba el buffer (Guarda los cambios y continúa trabajando en el Editor vi) :w new_filename Graba el buffer en new_filename (Continúa trabajando en vi) :wq Graba el buffer (guarda cambios) y sale del vi ZZ (mayúscula) Graba cambios y sale del vi. Alternativa de :wq :q! Sale sin grabar los cambios :wq! Graba el buffer (guarda cambios) y sale del vi (El ! anulará los permisos de sólo lectura si el usuario es el propietario del archivo.) 1. ¿La mayoría de los comandos grabar y salir se ingresan en qué modo ? _______________________________________________________________ 2. ¿Qué comando permitirá al usuario salir del Editor vi y no grabar los cambios hechos? ___________________________________________________________ ____ 3. ¿Cuáles dos comandos listados en la tabla realizan la misma función ? _______________________________________________________________ 4. ¿Qué comando permite que el usuario grabe el archivo actual que se está editando con otro nombre, y permanezca en el E ditor vi para continuar editando el archivo actual? _______________________________________________________________ Paso 7: Abrir un archivo existente Si el usuario inicia el Editor vi y especifica un nombre de archivo existente, éste es abierto para edición. Aquí el estudiante agregará algún texto nuevo en el Modo Entrada y probará algunos comandos de posicionamiento del cursor . 1. Abra miarchivovi, que fue creado anteriormente usando el comando : vi miarchivovi. ¿Cómo se ve la pantalla de documento vi? _______________________________________________________________ 5 - 10 IT Essentials II v3.0 Copyright 2004, Cisco Systems, Inc. 2. Posicione el cursor al final del nombre y presione la letra a minúscula para Agregar a la línea que fue escrita anteriormente. Escriba algún texto, y luego presione Enter para un salto de línea y después escriba algo más de texto. Ingrese tres líneas de texto de esta forma. ¿En qué modo está el usuario actualmente ? _______________________________________________________________ 3. Presione la tecla Esc para dejar el modo inserción y regresar al modo Co mando. En el modo Comando, ¿el usuario puede posicionar el cursor (con las flechas de cursor) para hacer una edición adicional ? _______________________________________________________________ 4. El usuario puede mover el cursor con las flechas de cursor mient ras está en los diversos modos de entrada y aún permanecer en ese modo. La tabla de abajo contiene algunas de las teclas y comandos de posicionamiento más comunes . Si usa los comandos alfabéticos mientras está en el modo entrada, serán ingresados como texto. El usuario necesita presionar Esc para entrar al modo comando para usarlos. Practique usándolos mientras edita este archivo. ¿Qué carácter lleva al usuario de regreso una palabra por vez? _______________________________________________________________ Paso 8: Comandos de posicionamiento del cursor Comando Significado j o Flecha abajo Mueve abajo una línea k o Flecha arriba Mueve arriba una línea Barra espaciadora Mueve a la derecha (hacia adelante) un carácter w Mueve hacia delante una palabra (incluyendo puntuación) Retroceso Mueve a la izquierda un caracter (verificar) B Mueve hacia atrás una palabra (incluyendo puntuación) $ Mueve al final de la línea 0 (zero) or ^ Mueve al inicio de la línea Return Mueve abajo al comienzo de la siguiente lí nea 1. Presione la flecha arriba para posicionar el cursor hasta que esté en la línea dos . Use el comando j (jump down – saltar abajo) para moverse hacia abajo y luego el comando k (kick up – saltar arriba) para regresar a la línea dos . 2. Escriba una letra o minúscula para abrir una nueva línea debajo de la línea donde está el cursor e ingrese texto nuevo. ¿En qué modo está el usuario ahora ? _______________________________________________________________ 6 - 10 IT Essentials II v3.0 Copyright 2004, Cisco Systems, Inc. 3. Presione la tecla Esc otra vez para dejar el modo Entra da Línea abierta y regresar al modo Comando. 4. Escriba dos puntos (:) para ir al modo Última línea y luego grabar y salir de este archivo cuando haya terminado . Si éste fuera un archivo real, y hubiera cometido algunos errores, y el usuario no quisiera graba r los cambios, ¿qué comando del modo Última línea se usaría ? _______________________________________________________________ 5. El nuevo archivo debería estar grabado en el directorio de práctica en el disco rígido . Muestre un listado largo de este directorio para verificar que el archivo está allí. ¿Cuántos bytes tiene el archivo ? _______________________________________________________________ Paso 9: Usar comandos de edición Hay muchos comandos de edición que pueden ser usados para modificar el texto existente en un archivo. Éstos incluyen comando para borrar y para cambiar texto. La mayoría de estos comandos se ingresan dentro del modo comando . 1. Abra un documento nuevo con el Editor vi . ¿Cómo se llama el archivo ? _____________________________________________ __________________ 2. Inserte algún texto. Agregue cinco líneas o más de texto y presione Enter al final de cada línea. Cometa algunos errores mientras está escribiendo. 3. Borre algún texto. Mientras está en modo comando, coloque el cursor sobre la ubicación deseada y use las opciones mostradas en la tabla de abajo para borrar algunos de los errores. Nota: Estos comandos están TODOS en minúscula y se ingresan sin la tecla Enter. Comandos de básicos de borrado de texto Comando Significado x Borra el carácter en el cursor dw Borra la palabra (o parte de la palabra a la derecha del cursor) 3dw Borra tres palabras dd Borra la línea que contiene al cursor 3dd Borra tres líneas 1. Deshaga y cambie algún texto. Para cambiar el texto y deshacer los cambios, use los comandos mostrados en la tabla de abajo. Muchos de estos comandos pasan al usuario al modo Inserción hasta que se presiona la tecla Escape . 7 - 10 IT Essentials II v3.0 Copyright 2004, Cisco Systems, Inc. Nota: Estos comandos están TODOS en minúscula . Comando para deshacer y cambiar Comando Significado cw Cambia la palabra (o parte de la palabra) en la ubicación del cursor hasta el final de la palabra 3cw Cambia tres palabras r Reemplaza el carácter sobre el cursor con otro carácter u Deshace el comando anterior 1. Copie y pegue texto. Para copiar y pegar texto, use l as siguientes opciones: Comandos de copiar y pegar Comando Significado yy Hace una copia de la línea y la coloca en el portapapeles p Coloca (pega) una línea copiada o borrada debajo de la línea actual P (mayúscula) Coloca (pega) una línea copiada o borrada arriba de la línea actual 1. Grabe el archivo y salga del Editor vi . ¿Qué comando fue usado? _______________________________________________________________ Paso 10: Personalizar la sesión El Editor vi incluye opciones para personalizar las sesiones de edición. Éstas están resumidas en la tabla de abajo. El comando set se utiliza desde el modo última línea para controlar estas opciones. La opción set nu muestra los números de línea y se usa con frecuencia cuando se escriben programas y archivos script . Los números de línea no son parte del archivo. 1. Abra el documento que acaba de crear con el Editor vi. Use los comandos de la tabla para personalizar la sesión vi . 8 - 10 IT Essentials II v3.0 Copyright 2004, Cisco Systems, Inc. Comandos de personalización de la sesión Comando Significado :set nu Muestra los números de línea :set nonu Oculta los números de línea :set showmode Muestra el modo actual de operación :set noshowmode Apaga la visualización del modo :set Muestra todas las variables set del vi :set all Muestra todas las variables posibles de vi y sus valores actuales Paso 11: Usar comandos de búsqueda Los comandos en la tabla de abajo permiten al usuario realizar una edici ón avanzada como encontrar líneas o conducir búsquedas de texto. Observe que las opciones de búsqueda barra inclinada (/) y signo de pregunta (?) también son comandos de última línea, pero ellos no requieren dos puntos primero . Los comandos next (n) y next previous (N) pueden ser usados para encontrar la siguiente aparici ón después que los comandos /cadena o ?cadena encontraron lo que el usuario estaba buscando. Comandos básicos de búsqueda Comando Significado G (mayúscula) Va a la última línea del archivo :21 Va a la línea 21 /cadena Busca hacia delante la cadena ?cadena Busca hacia atrás la cadena n Encuentra la siguiente aparición de la cadena Use los comandos de la tabla para practi car a buscar una línea o cadena en particular de texto. Salga del Editor vi sin grabar los cambios. ¿Q ué comando utilizó? _______________________________________________________________ 9 - 10 IT Essentials II v3.0 Copyright 2004, Cisco Systems, Inc. Paso 12: Borrar archivos y directorios creados en este laboratorio En el prompt escriba: rm miarchivovi Paso 13: Cerrar la ventana de terminal y salir de la sesi ón Haga doble clic sobre el botón guión en la esquina superior izquierda de la pantalla, luego haga clic sobre el ícono EXIT en el panel frontal. 10 - 10 IT Essentials II v3.0 Copyright 2004, Cisco Systems, Inc.