1 / 21

Programación II

1 – El editor VI. Programación II. Ing. Diego J. Arcusin info@digikol.com.ar. Invocación. El editor se invoca mediante el comando vi Si se lo invoca enviando como parámetero un archivo existente, se abrirá el editor junto con el archivo abierto listo para editar.

spike
Download Presentation

Programación II

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 1 – El editor VI Programación II Ing. Diego J. Arcusin info@digikol.com.ar

  2. Invocación • El editor se invoca mediante el comando vi • Si se lo invoca enviando como parámetero un archivo existente, se abrirá el editor junto con el archivo abierto listo para editar. • Si se lo invoca enviando como parámetero un archivo inexistente, se abrirá el editor y se creará automáticamente el archivo con el nombre especificado. • El vi no trabaja directamente sobre el archivo, sino que lo hace sobre un buffer (una copia en memoria temporal). El archivo original recién se graba al invocar algún comando de grabación del archivo.

  3. Modos • Existen 2 modos de operación: • Modo Edición.Permite trabajar libremente con los textos del archivo. Siempre que se desee salir del modo edición y pasar al modo comando, debe presionarse <esc>. • Modo ComandoPermite la introducción de comandos para la ejecución de funciones específicas del vi. • Al arrancar el Editor, siempre el sistema está en modo comando.

  4. Principales Comandos • Grabación y Salida del Editor • Movimiento • Inserción de Texto • Modificación de Texto • Eliminar Texto • Copiar y Mover Texto • Búsqueda y Reemplazo • Otros Comandos • Repetición de comandos • Comandos EX

  5. Grabación y Salida del Editor • :q Sale del editor (Sólo funciona si no hubo cambios) • :q! Fuerza la salida del editor aunque haya habido cambios • :w Graba al archivo el contenido del buffer • :w xxxxxx Graba el contenido del buffer en el archivo xxxxxx • :wq Graba al archivo el contenido del buffer y sale del editor

  6. Movimiento • De caracter en caracter • Si la terminal se encuentra bien configurada, se pueden utilizar las flechas del teclado. En forma alternativa, también se pueden utilizar: • l o Barra espaciadora un caracter a la derecha • h un caracter a la izquierda • k un caracter hacia arriba • j un caracter hacia abajo • De palabra en palabra • w (word) Una palabra hacia adelante • b (before) Una palabra hacia atrás

  7. Movimiento (cont.) • Dentro de una línea • ^ Nos ubicamos al inicio de la línea • $ Nos ubicamos al final de la línea • Return Nos ubicamos al inicio de la siguiente línea • Dentro de una pantalla • H Nos ubicamos en la parte superior - izquierda de la pantalla • L Nos ubicamos en la parte inferior - izquierda de la pantalla • M Nos ubicamos en la parte central de la pantalla • Avance / Retroceso de Página • Ctrl-F Avanza una pantalla • Ctrl-B Retrocede una pantalla • Ctrl-D Avanza media pantalla • Ctrl-U Retrocede media pantalla

  8. Inserción de Texto • Todos estos comandos pasan el editor a modo edición • Agregar Texto • a (append) Inserta el texto a la derecha del cursor • A Inserta el texto a la derecha del último caracter de la línea actual • Insertar Texto • i (insert) Inserta el texto a la izquierda del cursor • I Inserta el texto al principio de la línea actual • Insertar una línea • o (open) Abre una línea debajo de la línea actual • O Abre una línea arriba de la línea actual

  9. Modificación de Texto • Caracteres • s Sustituye el caracter actual por uno o más caracteres. • rSustituye el caracter actual por otro caracter, y vuelvo a modo comando • Palabras • cw Sustituye la palabra (o parte de la palabra) actual • Líneas • cc Sustituye la línea actual completa • C Sustituye la línea desde el caracter actual • J Une dos líneas (Borra el caracter nueva línea de la línea actual)

  10. Eliminar Texto • Caracteres • x Borra el caracter donde se encuentra el cursor • X Borra el caracter a la izquierda donde se encuentra el cursor • Palabras • dw Borra la palabra (o parte de la palabra) actual • Líneas • dd Elimina la línea actual (y el espacio que ocupa) completa • D Elimina todo lo que está a la derecha del cursor. • d0 Elimina todo lo que está a la izquierda del cursor. • Archivo • dG Borra desde la línea actual hasta el final del archivo • d1G Borra desde el principio del archivo hasta la línea actual

  11. Copiar y Mover Texto • Copiar y Pegar • Colocarse en la primera línea a copiar • Escribir el número de líneas a copiar seguido de yy (yank) • Colocarse en la línea donde se desea pegar seguido de p (paste) • Cortar y Pegar • Colocarse en la primera línea a cortar • Escribir el número de líneas a copiar seguido de dd (delete) • Colocarse en la línea donde se desea pegar seguido de p

  12. Copiar y Mover Texto (Cont.) • Util para insertar repetidamente un grupo de líneas en varios lugares del archivo • ¿Cómo utilizarlos? • Colocarse en la primera línea a copiar • Escribir comillas dobles seguido de la letra con la que se desea nombrar el buffer (Por ejemplo: “a) • Escribir el número de líneas a cortar o copiar • Teclear yy o dd • Colocarse en la línea donde se desea pegar • Teclear comillas dobles seguido de la letra del buffer que se desea pegar seguido de p

  13. Búsquedas de Texto • Búsqueda • /[cadena] Se posiciona sobre la siguiente ocurrencia de cadena respecto a la posición actual • ?[cadena] Se posiciona sobre la anterior ocurrencia de cadena respecto a la posición actual • n Busca la siguiente (anterior si se uso ?) ocurrencia de la cadena • N Busca la anterior (siguiente si se uso ?) ocurrencia de la cadena • :set ic Búsquedas Case Sensitive • :set noic Búsquedas No Case Sensitive • Consideraciones • Los caracteres (/& ! . ^ * $ \ ?) son especiales por lo que para ser utlizados en búsquedas deberán ser precedidos por \ (barra invertida)

  14. Búsquedas de Texto (Cont.) • Indicadores para búsquedas mas precisas • ^ Busca al inicio de una línea • $ Busca al final de una línea • \< Busca al inicio de una palabra • \> Busca al final de una palabra • Metacaracteres • . Busca cualquier caracter (1 sola ocurrencia) • * Busca cualquier caracter (cero o más ocurrencias) • [ab] Reemplaza por cualquier caracter entre los corchetes • [a-b] Reemplaza por cualquier caracter en el rango especificado

  15. Reemplazar Texto • El formato para comoandos de reemplazo es el siguiente: • :g/cadena/s//nuevacadena/g • Se pueden utilizar cualquiera de los mecanismos de búsqueda antes mencionados. • Modificando la opción /g por /gc el vi pide confirmación antes de cada reemplazo.

  16. Otros comandos • Deshacer (Undo) • u Deshace el último comando • U Deshace todos los cambios realizados en la línea • Insertar archivos • :r archivo Inserta el archivo en la posición actual del cursor • :nrolinea r archivo Inserta el archivo a partir de la línea nrolinea • Es posible ejecutar comandos del Shell sin salir del editor. • :!comandoshell Ejecuta un comando del shell y vuelve al editor • !!comandoshell Ejecuta un comando del shell y se incluya su salida en el archivo • :sh Ejecuta un shell. Al salir del shell (Ctrl-D) vuelve al editor.

  17. Repetición de comandos • Repetición de comandos • . Repite el último comando • Los comandos se pueden preceder por un número que indica cuántas veces se debe repetir el comando. Por ejemplo: • 10x Borra 10 caracteres • 5dd Borra 5 líneas • 10. Repite 10 veces el ultimo comando • 2Ctrl-F Avanza 2 páginas

  18. Comandos EX • :#lineaA,#lineaB co #lineaC Copia líneas • :#lineaA,#lineaB m #lineaC Mueve líneas • :#lineaA,#lineaB d Eliminalíneas linea A = Linea Desde – lineaB = Línea Hasta – lineaC = Línea Destino • En lugar de los nros de línea, también se pueden utilizad: • . Línea Actual (donde se encuentra el cursor) • $ Ultima línea del archivo • :set nu Permite visualizar los nros de línea • :set no Quita la numeración

  19. El Entorno de trabajo • El vi permite modificar el entorno de trabajo mediante opciones • Para activar una opción • :set opcion • Para desactivar una opción • :set noopcion • Algunas opciones • autoindent Hace que la línea siguiente conserver la indentación de la anterior • number Numera las líneas (:se nu es en definitiva un apócope ) • showmode Indica visualmente el modo de trabajo activo

  20. El Entorno de trabajo (Cont.) • Abreviaturas • Se pueden establecer abreviaturas para cadenas largas. Al escribir la abreviatura el editor reemplazará la misma por el texto correspondiente • :ab abreviatura cadena larga (Ej: :ab uc Universidad del Cema) • :una abreviatura Elimina la abreviatura • Macros • Se puede asignar a un caracter una secuencia de comandos para facilitar su ejecución recurrente. • :map tecla secuencia_comandos (Ej: :map m dd k “ap) • :umap tecla Elimina la macro • Se pueden conservar las definiciones personales del entorno de trabajo (opciones, abreviaturas y macros) mediante la creación de un archivo llamado .exrc en el Home Directory del usuario.

  21. Ejercicios • Experimente los comandos W (mayúscula) y B (Mayúscula), que diferencias encuentra con w y b. • Investigue las siguientes opciones de Entorno: • showmatch • all • Ingrese el comando :se all ¿Qué ocurre?

More Related