| Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa |
| ecce [2024/02/16 23:05] – peron | ecce [2026/04/21 16:06] (actual) – editor externo 127.0.0.1 |
|---|
| |
| * **//Prompt// del Modo de Comandos**: ''>'' | * **//Prompt// del Modo de Comandos**: ''>'' |
| * **//Prompt// del Modo de Inserción de texto**: '':'' | * **//Prompt// del Modo de introduccción de texto**: '':'' |
| |
| ==== Edición básica ==== | ==== Mecanografiado básico ==== |
| |
| Para la introducción básica de texto basta conocer sólo cuatro comandos de una letra. | Para mecanografiar texto de forma básica con Ecce, basta conocer sólo cuatro comandos de una letra. |
| |
| ^ **Comando** ^ **Acción** ^ | ^ **Comando** ^ **Acción** ^ |
| | ''g'' | Agregar una línea de texto individual | | | ''g'' | Mecanografiar una línea de texto individual | |
| | '':'' | Detiene el modo de inserción | | | '':'' | Detiene el modo de inserción | |
| | ''m'' | mueve el puntero a la línea siguiente | | | ''m'' | mueve el puntero a la línea siguiente | |
| | ''p'' | Imprime la línea actual | | | ''p'' | Presentar la línea actual | |
| |
| En el //prompt// de comandos ''>'' introduce el comando ''g' ("agregar una línea individual") y presiona la **tecla Intro**. | En el //prompt// de comandos ''>'' ordena el comando ''g'' ("mecanografiar una línea") y presiona la **tecla Intro**. |
| |
| >En el caso de UNIX, la línea equivale a un párrafo entero, que puede tener más de los 80 o 132 caracteres tradicionales de una línea impresa en papel. | Comprueba que ha aparecido un **prompt de introducción de texto** en forma de un '':'' (esto indica que aguarda que escribas el texto para la línea). Mecanografía la línea de texto deseado, y al finalizarla presiona la **tecla Intro** para almacenarla en el //buffer//. |
| |
| Comprueba que ha aparecido un **prompt de inserción texto** en forma de '':'' (esto indica que aguarda que introduzcas el texto para la línea). Ante este //prompt// '':'' mecanografía la línea de texto deseado, y al finalizarla presiona la **tecla Intro** para almacenarla en el Almacén. | >En el caso de UNIX, una línea equivale a un párrafo entero; este puede tener más de los 80 o 132 caracteres tradicionales de una línea impresa en papel. |
| |
| Si es necesario, puedes repetir la operación para agregar otra línea individual. | Si es necesario, puedes repetir la operación para agregar otra línea individual. |
| |
| Si en lugar de ''g'' en el prompt de comandos ''>'' introduces el comando ''g*'' ("agregar líneas //indefinidamente//"), Ecce te permitirá continuar agregando líneas indefinidamente. Una vez que hayas finalizado la inserción de la(s) línea(s) de texto deseadas desde el //prompt de inserción de texto//, detén el modo de inserción ingresando '':''. Volverás al //prompt de comandos// ''>''. | ===Mecanografiado indefinido=== |
| | Si en el prompt de comandos ''>'' en lugar de ''g'' introduces el comando ''g*'' ("mecanografiar líneas //indefinidamente//"), al presionar la **tecla Intro** Ecce permite mecanografiar líneas indefinidamente. Cada vez que presiones la tecla Intro agregará una línea adicional. Una vez que hayas almacenado todas las líneas deseadas, puedes detener el //modo de introducción de texto// mediante '':''; esto te devolverás al //prompt de comandos// ''>''. |
| |
| Al llegar al fin del documento de una sola línea recibirías el mensaje ''<nowiki>*** FIN ***</nowiki>'' y volverás al prompt de comandos ''>''. | Al llegar al final del documento, recibirías el mensaje ''<nowiki>*** FIN ***</nowiki>'' y volverás al prompt de comandos ''>''. |
| |
| | ===Guardar y salir=== |
| | Para guardar los cambios del buffer almacén en el fichero destino y cerrar el editor, desde el //prompt de comandos// ''>'', introduce el comando especial ''%c''. |
| |
| | ====Corrección==== |
| | La edición de texto avanzada supera al de una máquina de escribir tradicional, pues a la vez de permitir mover el punter, permite realizar tareas de corrección sobre el texto. |
| |
| | === Movimiento === |
| |
| | Imagina a Ecce como una antigua máquina de escribir. En aquellas girabas el rodillo para avanzar o retroceder en las líneas en el papel. |
| |
| | En Ecce puedes alterar la posición actual de edición en el documento (denominada "//puntero//") utilizando los comandos de movimiento. El comando ''m'' ("mover"), por si solo avanza a la línea siguiente, pero si antepones el signo ''-'' podrás retroceder a la línea anterior. Si lo combinas con un número entero, podrás avanzar o retroceder una determinada cantidad de líneas. |
| |
| | Si utilizas el modificador ''*'', podrás avanzar de forma //indefinida// hasta llegar al final del documento (o hasta el principio, en caso de utilizar el comando ''m-*''). |
| |
| ===Guardar y salir=== | Recuerda que al llegar al final del documento darás con el indicador ''<nowiki>*** FIN ***</nowiki>''. |
| Podrás guardar los cambios en al fichero destino y cerrar el editor desde el //prompt de comandos// ''>'', introduciendo el comando ''%c''. | |
| |
| === Movimiento y corrección=== | ==Comandos de Movimiento== |
| Imagina a Ecce como una antigua máquina de escribir, en las cuales al girar el rodillo se avanza o retrocede en las líneas. | |
| |
| Para alterar la posición actual de edición en el documento (llamada "//puntero//") se utiliza el comando ''m'' ("mover"). Por si solo avanza una línea, pero si antepones el con el signo ''-'' podrás retroceder una línea. Si lo combinas con una cifra, podrás avanzar o retroceder una determinada cantidad de líneas. | |
| |
| Si utilizas el modificador ''*'', podrás avanzar de forma indefinida hasta llegar al final del documento (o hasta el principio, si utilizas por ejemplo ''m-*''). | |
| |
| Recuerda que al llegar al fin del documento recibirás como indicación el mensaje ''<nowiki>*** FIN ***</nowiki>''. | |
| |
| ==Comandos de Movimiento== | |
| ^ **Comando** ^ **Movimiento del Puntero** ^ | ^ **Comando** ^ **Movimiento del Puntero** ^ |
| | | ''r'' | Mueve el puntero un carácter a la **derecha** (en la línea actual) | |
| | | ''l'' | Mueve el puntero un carácter a la **izquierda** (en la línea actual) | |
| | | ''t/texto'' | **Transporta** el puntero inmediatamente después de la cadena ''texto'' (en la línea actual) | |
| | ''m'' | Mueve el puntero a la línea siguiente | | | ''m'' | Mueve el puntero a la línea siguiente | |
| | ''m-'' | Mueve el puntero a la línea anterior | | | ''m-'' | Mueve el puntero a la línea anterior | |
| | ''r'' | Mueve el puntero un carácter a la derecha (en la línea actual) | | |
| | ''l'' | Mueve el puntero un carácter a la izquierda (en la línea actual) | | |
| | ''g''[nro] | Va a la línea {nro} | | |
| | ''*'' o ''0'' | **Repetición indefinida** ("repite la acción no poder cumplir mas") | | |
| |
| ==Comandos de corrección básica== | |
| ^ **Comando** ^ **Borrado realizado** ^ | |
| | ''k'' | **Elimina la línea** actual del puntero | | ==Comandos de corrección== |
| | ''k-'' | Elimina la línea anterior al puntero | | ^ **Comando** ^ **Corrección** ^ |
| | ''o/texto'' | **Sobreescribe la línea actual** del puntero con la cadena ''texto'' | | |
| | ''e'' | **Borra un carácter** a la izquierda del puntero | | | ''e'' | **Borra un carácter** a la izquierda del puntero | |
| | ''e-'' | Borra un carácter a la derecha del puntero | | | ''e-'' | Borra un carácter a la derecha del puntero | |
| | ''i/texto'' | Inserta la cadena ''texto'' a la izquierda del puntero | | | ''k'' | **Elimina la línea** del puntero | |
| | ''i-/texto'' | Inserta la cadena ''texto'' a la derecha del puntero | | | ''k-'' | Elimina la línea anterior al puntero | |
| | ''g/texto'' | Tras del puntero, **Agrega una línea nueva** que contiene la cadena ''texto'' | | | ''i/texto'' | Inserta la cadena ''texto'' a la derecha del puntero | |
| | ''g-/texto'' | Tras del puntero, **Agrega una línea nueva** que contiene la cadena ''texto'' | | | ''i-/texto'' | Inserta la cadena ''texto'' a la izquierda del puntero | |
| | ''d/texto'' | En la línea actual, borra la primer iteración de la cadena ''texto'' tras el puntero | | | ''g''//n// | Genera //n// líneas y permite mecanografiarlas. | |
| | ''d-/texto'' | En la línea anterior, borra la iteración previa de ''texto'' | | | ''d/texto'' | En la línea actual, borra la (primer iteración de la) cadena ''texto'' | |
| | ''t/texto'' | Busca en la línea actual ''texto'' y desplaza el puntero inmediatamente a si derecha | | | ''d-/texto'' | En la línea anterior, borra la (primer iteración de la) cadena ''texto'' | |
| | | ''u/texto'' | Borra todo hasta la cadena ''texto'' (en la línea actual) | |
| | ''d/texto'' | Borra la cadena ''texto'' (en la línea actual) | | |
| | ''u/texto'' | Borra hasta la cadena ''texto'' (en la línea actual) | | |
| |
| ==Buscar y reemplazar== | ==Buscar y reemplazar== |
| Para esta operación se utilizan dos comandos: | Para esta operación se utilizan dos comandos: |
| |
| | ''f/cadena1/'' | A partir del puntero, buscará ''cadena1'' en todo el fichero. | | | ''f/cadena1/'' | A partir del puntero, busca ''cadena1'' (hasta el fin del fichero). | |
| | ''s/cadena2'' | Tras usar f/cadena1, la reemplaza con ''cadena2'' | | | ''s/cadena2'' | Tras encontrar la cadena buscada con ''f/cadena1/'', la reemplaza con ''cadena2'' | |
| | |
| ===Comandos Especiales === | |
| Los comandos especiales de Ecce se utilizan para funciones | |
| | |
| ^ **Comando especial** ^ **Resultado** ^ | |
| | ''%c'' | Guarda los cambios y sale del editor | | |
| | ''%a'' | Abandona la edición y sale del editor | | |
| | ''%v'' | Imprime la versión de Ecce | | |
| | |
| ====Edición Avanzada==== | |
| Junto a los comandos de una letra simple, Ecce dispone la posibilidad de usar opciones más avanzadas que te permiten editar con mayor conveniencia. | |
| |
| Como regla general, si introduces un número //n// junto a tu comando, y ejecutarás dicho comando recursivamente //n// veces. Por ejemplo: | ==Modificadores== |
| | * El modificador ''*'' o ''0'' significa **Repetición indefinida** (por lo que "repite la acción no poder cumplir mas"). Por ejemplo, el comando ''r*'' mueve el puntero hasta llegar al final de la línea actual. |
| | * Como regla general, al especificar un número entero //n// luego de un comando, lo ejecutarás dicho comando recursivamente //n// veces. Por ejemplo: |
| |
| | ''p23'' | Imprime las 23 líneas siguientes al puntero | | | ''p23'' | Imprime 23 líneas (siguientes al puntero) | |
| | ''m10'' | Sube el puntero diez líneas | | | ''m10'' | Baja el puntero diez líneas | |
| | ''g5'' | Deja 5 líneas de texto en blanco debajo del puntero | | | ''g5'' | Genera 5 líneas de texto en blanco debajo del puntero | |
| |
| De la misma manera es posible invertir el orden del comando antecediendo al número //n// con un signo ''-''. Por ejemplo: | De la misma manera es posible invertir el orden del comando antecediendo al número //n// con un signo ''-''. Por ejemplo: |
| |
| | | ''m-*'' | Retrocede el puntero todas las líneas (vuelve al inicio del texto) | |
| | ''p*''| Imprime todo desde el puntero hasta el final del texto | | | ''p*''| Imprime todo desde el puntero hasta el final del texto | |
| | ''p-23'' | Imprime las 23 líneas anteriores al puntero | | | ''m-10'' | Sube el puntero diez líneas | |
| | | ''p-23'' | Imprime (en orden inverso) las 23 líneas anteriores al puntero | |
| | ''p-*'' | Imprime todo hasta el inicio del texto | | | ''p-*'' | Imprime todo hasta el inicio del texto | |
| | ''m-10'' | Retrocede el puntero diez líneas | | |
| | ''m-*'' | Retrocede el putnero todas las líneas (vuelve al inicio del texto) | | |
| |
| |
| |
| | * Si sólo introduces un //número// en la línea de comandos, Ecce repetirá el comando introducido anteriormente una //n// cantidad de veces. |
| |
| Como en el caso anterior, estos pueden repetirse indicándole números apropiados: | ===Comandos Especiales=== |
| | Los comandos especiales de Ecce se utilizan para funciones |
| |
| | ''f/texto/4'' | Busca la 4ta. iteración de "texto" | | ^ **Comando especial** ^ **Resultado** ^ |
| | ''r40'' | Mueve a la derecha 40 caracteres | | | ''%c'' | Guarda los cambios y sale del editor | |
| | | ''%a'' | Abandona la edición y sale del editor | |
| | | ''%v'' | Imprime la versión de Ecce | |
| |
| Estas órdenes pueden encadenarse juntas: | ====Edición==== |
| | Junto a los comandos de corrección, Ecce dispone la posibilidad de usar comandos de edición para las líneas, que al actuar como párrafos permiten una edición más conveniente. |
| ''m23 f/texto/ p3'' | |
| |
| ===Comandos de Edición Avanzada=== | ===Comandos de Edición Avanzada=== |
| | ^ **Comando avanzado** ^ **Resultado** ^ |
| | | ''b'' | **Divide la línea** en la posición del puntero. | |
| | | ''j'' | **Une la línea** desde el puntero a la siguiente línea | |
| | ''a'' | Ajusta el largo | | | ''a'' | Ajusta el largo | |
| | ''b'' | Divide la línea en dos insertando un caracter de nueva línea en el puntero | | |
| | ''C'' | Cambia mayúsculas con Shift derecho | | | ''C'' | Cambia mayúsculas con Shift derecho | |
| | ''C-'' |Cambia a minúsculas con shift izq | | | ''C-'' |Cambia a minúsculas con shift izq | |
| | ''q'' | Transporta la línea actual a la posterior | | |
| | ''g-'' | Transporta la línea actual a la anterior | | |
| |
| | ''j'' | Une la línea del puntero a la siguiente línea | | |
| | ''u/texto'' | Busca en la línea actual desde el puntero hasta la primer iteración de ''texto'', y borra todo lo intermedio | | |
| |
| ===Comandos Compuestos=== | ===Comandos Compuestos=== |
| La utilidad de estos comandos está en su repetición en bucle, condicional o incondicional. Observa estos ejemplos: | La utilidad de estos comandos está en su repetición en bucle, condicional o incondicional. Observa estos ejemplos: |
| |
| ^ Operación ^ Ejemplo ^ Significado/efecto ^ | ^ **Operación** ^ **Ejemplo** ^ Significado/efecto ^ |
| | ''0'' o ''*'' | | **Repetición indefinida** ("repite hasta no poder cumplir mas") | | | ''0'' o ''*'' | | **Repetición indefinida** ("repite hasta no poder cumplir mas") | |
| | | ''r0'' | Mueve el puntero al final de la línea | | | | ''r0'' | Mueve el puntero al final de la línea | |
| | | ''(mv'+'\)0'' | Busca la siguiente línea que comienza con `''+'' | | | | ''(mv'+'\)0'' | Busca la siguiente línea que comienza con `''+'' | |
| |
| Si sólo introduces un //número// en la línea de comandos, Ecce repetirá el comando introducido anteriormente una //n// cantidad de veces. | |
| |
| Podrás delimitar patrones por cualquier caracter excepto letras, dígitos, y aquellos que tienen significación definida. Podrás usar: ''"'', ''<nowiki>/</nowiki>'', ''$'', ''>'', ''+'', ''.'', '':'', ''='' y ''_'' | ====Combinación de comandos==== |
| |
| | |
| | Como en el caso anterior, estos pueden repetirse indicándole números apropiados: |
| | |
| | | ''f/texto/4'' | Busca la 4ta. iteración de "texto" | |
| | | ''r40'' | Mueve a la derecha 40 caracteres | |
| | |
| | Estas órdenes pueden encadenarse juntas: |
| | |
| | ''m23 f/texto/ p3'' |
| |
| |
| |
| | Podrás delimitar patrones por cualquier caracter excepto letras, dígitos, y aquellos que tienen significación definida. Podrás usar: ''"'', ''<nowiki>/</nowiki>'', ''$'', ''>'', ''+'', ''.'', '':'', ''='' y ''_''. |
| |