El Editor VI

21
El El editor VI editor VI El El editor VI editor VI Linux

description

linux

Transcript of El Editor VI

Page 1: El Editor VI

ElEl editor VIeditor VIEl El editor VIeditor VI

Linux

Page 2: El Editor VI

INVOCACIÓN

El editor se invoca mediante el comando viSi se lo invoca enviando como parámetero un archivo existente, p ,se abrirá el editor junto con el archivo abierto listo para editar.Si se lo invoca enviando como parámetero un archivo inexistente, p ,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.

Page 3: El Editor VI

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 Al arrancar el Editor, siempre el sistema está en modo comando.

Page 4: El Editor VI

PRINCIPALES COMANDOS

Grabación y Salida del EditorMovimientoInserción de TextoModificación de TextoEliminar TextoCopiar y Mover TextoBúsqueda y ReemplazoOtros ComandosRepetición de comandosComandos EX

Page 5: El Editor VI

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: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:w xxxxxx Graba el contenido del buffer en el archivo xxxxxx:wq Graba al archivo el contenido del buffer y sale del editor

Page 6: El Editor VI

MOVIMIENTO

De caracter en caracterSi la terminal se encuentra bien configurada, se pueden utilizar las flechas g , pdel teclado. En forma alternativa, también se pueden utilizar:

l o Barra espaciadora un caracter a la derechah un caracter a la izquierdak un caracter hacia arribaj un caracter hacia abajoj un caracter hacia abajo

De palabra en palabraw (word) Una palabra hacia adelante( ) pb (before) Una palabra hacia atrás

Page 7: El Editor VI

MOVIMIENTO (CONT.)

Dentro de una línea^ Nos ubicamos al inicio de la línea$ N bi l fi l d l lí$ Nos ubicamos al final de la líneaReturn Nos ubicamos al inicio de la siguiente línea

Dentro de una pantallaH Nos ubicamos en la parte superior - izquierda de la pantallaL Nos ubicamos en la parte inferior - izquierda de la pantallaMNos ubicamos en la parte central de la pantallaos ub ca os e a pa te ce t a de a pa ta a

Avance / Retroceso de PáginaCtrl-F Avanza una pantallaCtrl B Retrocede una pantallaCtrl-B Retrocede una pantallaCtrl-D Avanza media pantallaCtrl-U Retrocede media pantalla

Page 8: El Editor VI

INSERCIÓN DE TEXTO

Todos estos comandos pasan el editor a modo ediciónAgregar Textog g

a (append) Inserta el texto a la derecha del cursorA Inserta el texto a la derecha del último caracter de la línea actual

Insertar Textoi (insert) Inserta el texto a la izquierda del cursorI Inserta el texto al principio de la línea actualI Inserta el texto al principio de la línea actual

Insertar una líneao (open) Abre una línea debajo de la línea actualo (open) Abre una línea debajo de la línea actualO Abre una línea arriba de la línea actual

Page 9: El Editor VI

MODIFICACIÓN DE TEXTO

Caracteress Sustituye el caracter actual por uno o más caracteres.r Sustituye el caracter actual por otro caracter, y vuelvo a modo comando

Palabrascw Sustituye la palabra (o parte de la palabra) actual

Líneascc Sustituye la línea actual completacc Sustituye la línea actual completaC Sustituye la línea desde el caracter actualJ Une dos líneas (Borra el caracter nueva línea de la línea actual)

Page 10: El Editor VI

ELIMINAR TEXTO

Caracteresx Borra el caracter donde se encuentra el cursorX Borra el caracter a la izquierda donde se encuentra el cursor

Palabrasdw Borra la palabra (o parte de la palabra) actual dw Borra la palabra (o parte de la palabra) actual

Líneasdd Elimina la línea actual (y el espacio que ocupa) completaD Elimina todo lo que está a la derecha del cursor.d0 Elimina todo lo que está a la izquierda del cursor.

ArchivoArchivodG Borra desde la línea actual hasta el final del archivod1G Borra desde el principio del archivo hasta la línea actual

Page 11: El Editor VI

COPIAR Y MOVER TEXTO

Copiar y PegarColocarse en la primera línea a copiarColocarse en la primera línea a copiarEscribir el número de líneas a copiar seguido de yy (yank)Colocarse en la línea donde se desea pegar seguido de pColocarse en la línea donde se desea pegar seguido de p(paste)

Cortar y PegarCortar y PegarColocarse en la primera línea a cortarEscribir el número de líneas a copiar seguido de dd (delete)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

Page 12: El Editor VI

COPIAR Y MOVER TEXTO (CONT.)

Util para insertar repetidamente un grupo de líneas en varios lugares del archivog¿Cómo utilizarlos?

Colocarse en la primera línea a copiarEscribir 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 Escribir el número de líneas a cortar o copiar Teclear yy o ddColocarse en la línea donde se desea pegar Teclear comillas dobles seguido de la letra del buffer que se desea pegar seguido de p

Page 13: El Editor VI

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 actualpn 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 ic Búsquedas Case Sensitive:set noic Búsquedas No Case Sensitive

ConsideracionesLos caracteres (/& ! . ^ * $ \ ?) son especiales por lo que para ser utlizados en búsquedas deberán ser precedidos por \ (barra invertida)

Page 14: El Editor VI

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\> B l fi l d l b\> Busca al final de una palabra

Metacaracteres. Busca cualquier caracter (1 sola ocurrencia). 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

Page 15: El Editor VI

REEMPLAZAR TEXTO

El formato para comoandos de reemplazo es el siguiente: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.

Page 16: El Editor VI

OTROS COMANDOS

Deshacer (Undo)u Deshace el último comandoU D h t d l bi li d l lí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 :!comandoshell Ejecuta un comando del shell y vuelve al

editor!!comandoshell Ejecuta un comando del shell y se incluya su

salida en el archivosalida en el archivo:sh Ejecuta un shell. Al salir del shell (Ctrl-D)

vuelve al editor.

Page 17: El Editor VI

REPETICIÓN DE COMANDOS

Repetición de comandosRepite el último comando. 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:cuántas veces se debe repetir el comando. Por ejemplo:

10x Borra 10 caracteres5dd Borra 5 líneas10. Repite 10 veces el ultimo comando2Ctrl-FAvanza 2 páginas

Page 18: El Editor VI

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 Destinolinea 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

Page 19: El Editor VI

EL ENTORNO DE TRABAJO

El vi permite modificar el entorno de trabajo mediante opcionesPara activar una opciónp

:set opcion

Para desactivar una opción:set noopcion

Algunas opcionesautoindent Hace que la línea siguiente conserver la indentación de

la anteriornumber Numera las líneas (:se nu es en definitiva un apócope )number Numera las líneas (:se nu es en definitiva un apócope )showmode Indica visualmente el modo de trabajo activo

Page 20: El Editor VI

EL ENTORNO DE TRABAJO (CONT.)

AbreviaturasSe pueden establecer abreviaturas para cadenas largas. Al escribir la abreviatura el editor reemplazará la misma por el texto correspondienteabreviatura el editor reemplazará la misma por el texto correspondiente:ab abreviatura cadena larga (Ej: :ab uc Universidad del Cema):una abreviatura Elimina la abreviatura

MacrosMacrosSe 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):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 abre iat ras macros) mediante la creación de n archi o (opciones, abreviaturas y macros) mediante la creación de un archivo llamado .exrc en el Home Directory del usuario.

Page 21: El Editor VI

EJERCICIOS

Experimente los comandos W (mayúscula) y B (M ú l ) dif i t b(Mayúscula), que diferencias encuentra con w y b.Investigue las siguientes opciones de Entorno:

showmatchall

Ingrese el comando :se all ¿Qué ocurre?g ¿Q