El editor Euphoria

 
uso 1:   ed <nombre de archivo>
uso 2:   ed


Resumen

Después de cualquier error, sólo escriba ed, y se ubicará en el editor, en la línea y columna donde ocurrió el error. El mensaje de error estára en la parte superior de su pantalla.

Los archivos relacionados con Euphoria se muestran en colores. Los otros archivos de texto, en blanco y negro. Sabrá que ha deletreado algo mal cuando el color no cambia como usted espera. Las palabras claves son azules. Los nombres de las rutinas internas del intérprete aparecen en magenta. Las cadenas son verdes, los comentarios son rojos, la mayoría del resto del texto es negro. Los paréntesis equilibrados (en la misma línea) tienen el mismo color. Puede cambiar esos colores tanto como otros parámetros de ed. Ver "parámetros modificables por el usuario" en la parte superior de ed.ex.

Las teclas de flecha mueven el cursor hacia la izquierda, derecha, arriba o abajo. La mayoría del resto de los caracteres se inserta inmediatamente en el archivo.

En Windows, puede "asociar" varios tipos de archivos con ed.bat. Al hacer doble clic sobre ellos (por ejemplo .e, .pro, .doc, etc), serán abiertos por ed. Los archivos principales de Euphoria terminados en .ex (.exw) sería mejor que estén asociados con ex.exe (exw.exe).

ed es un editor DOS multiarchivo/multiventana. Esc c separará su ventana, por lo que puede ver y editar hasta 10 archivos simultáneamente, con cortado y pegado entre ellos. También puede usar varias ventanas de edición para ver y editar distintas partes del mismo archivo.

Si no le gusta ed, tiene aún muchas alternativas. El editor EE de David Cuny es un editor DOS para Euphoria que está escrito en Euphoria. Tiene una amigable interfaz basada en el ratón con menúes desplegables, etc. Está disponible en el sitio web de RDS. Hay muchos otros editores orientados a Euphoria que corren en DOS, Windows, Linux and y FreeBSD. Consulte la sección Editors de nuestro Archivo. De hecho, se puede usar cualquier editor de texto, incluyendo el Edit de DOS o el Bloc de Notas de Windows.


Teclas especiales

Algunas teclas de la PC no trabajan en la consola de texto de Linux o FreeBSD, o en Telnet, y algunas teclas tampoco lo hacen en xterm bajo X windows. Se han provisto teclas alternativas. En algunos casos en Linux/FreeBSD tendría que editar ed.ex para mapear la tecla deseada en la función deseada.

Supr - Borra el caracter actual sobre el cursor.
Backspace - Mueve el cursor hacia la izquierda y borra un caracter.
Ctrl+Supr - Borra la línea actual (Ctrl+Supr no está disponible en todos los sistemas).
Ctrl+D - Borra la línea actual (igual que Ctrl+Supr).
Insert - Reinserta la serie precedente de Supr o Ctrl+Supr antes del carácter actual o de la línea actual.
Ctrl+flecha izquierda - Mueve el cursor al inicio de la palabra anterior. Linux/FreeBSD use Ctrl+L.
Ctrl+flecha derecha - Mueve el cursor al inicio de la palabra siguiente. En Linux/FreeBSD use Ctrl+R.
Inicio - Mueve el cursor al inicio de la línea actual.
Fin - Mueve el cursor al final de la línea actual.
Ctrl+Inicio - Mueve el cursor al inicio del archivo. En Linux/FreeBSD use Ctrl+T (es decir, inicio)
Ctrl+Fin - Mueve el cursor al final del archivo. En Linux/FreeBSD use Ctrl+B, (es decir, final)
Re Pág - Se mueve una pantalla arriba. En un xterm de Linux/FreeBSD use Ctrl+U
Av Pág - Se mueve una pantalla abajo. En un xterm de Linux/FreeBSD use Ctrl+P
F1 ... F10 -
Seleciona una nueva ventana actual. Las ventanas están numeradas de arriba hacia abajo, con la ventana superior en pantalla asignada a la tecla F1.
F12 -
Este es un comando especial personalizable. Está preparado para insertar un comentario Euphoria "--" al comienzo de la línea actual. Puede cambiarlo para realizar cualquier otra pulsación que desee, simplemente redefiniendo la constante CUSTOM_KEYSTROKES en la parte superior de ed.ex.


Comandos de escape

Presione y libere la tecla Esc, luego presione una de las siguientes teclas:

h -
Obtener ayuda de texto para el editor o para Euphoria. Esta pantalla está separada, por lo tanto puede leer la ayuda y el código al mismo tiempo.
c -
"Clona" la ventana actual, es decir, hace una nueva ventana de edición que inicialmente muestra el mismo archivo en la misma posición que la vetana actual. Puede querer usar Esc l para obtener más líneas en pantalla. Cada ventana que crea, se puede desplazar independientemente y cada una de ellas tiene su propia barra de menú. Los cambios que haga a un archivo, aparecerán inicialmente sólo en la ventana actual. Al presionar una tecla de Función para seleccionar una nueva ventana, cualquier cambio aparecerá allí también. Puede usar Esc n para leer un nuevo archivo en cualquier ventana.
q -
Cierra (borra) la ventana actual y abandona el editor, si no hay más ventanas. Será advertido si esta es la última ventana usada para editar un archivo modificado. Cualquier ventana restante tendrá más espacio.
s - Guarda el archivo que se está editando en la ventana actual, entonces cierra la ventana actual como lo hace Esc q.
w - Guarda el archivo pero no cierra la ventana.
e -
Guarda el archivo y entonces lo ejecuta con ex, exw o exu. Cuando termina la ejecución del programa, escuchará un bip. Presione Enter para volver al editor. Esta operación puede no funcionar si tiene muy poca memoria extendida. No puede suministrarle al programa ningún argumento de la línea de comandos.
d -
Ejecuta un comando del sistema operativo. Después del bip, presione Enter para volver al editor. También podría usar este comando para editar otro archivo y luego regresar, pero probablemente Esc c sea más conveniente.
n -
Comienza a editar un nuevo archivo en la ventana actual. Las líneas/caracteres borrados y las cadenas buscadas, están disponibles para usarse en el nuevo archivo. Alternativamente, puede arrastrar el nombre de un archivo desde la ventana del Administrador de Archivos de Windows a la ventana MS-DOS de ed. Esto escribirá por usted la ruta completa.
f -
Busca la siguiente ocurrencia de una cadena en la ventana actual. Al escribir una nueva cadena, existe la opción de "coincidencia de mayúsculas" o no. Presione y si necesita que coincidan las mayúsculas/minúsculas. Mantenga presionado Enter para encontrar las ocurrencias subsecuentes. Cualquier otra tecla detiene la búsqueda. Para buscar desde el principio, presione Ctrl+Inicio antes de Esc f. La cadena por defecto a buscar, si no escribe nada, se muestra entre comillas dobles.
r -
Reemplaza globalmente una cadena por otra. Opera como el comando Esc f. Mantenga presionado el Enter para continuar reemplazando. Tenga cuidado -- no hay manera de saltear un posible reemplazo.
l -
Cambia la cantidad de líneas mostradas en pantalla. Están permitidos solamente algunos valores, dependiendo de su tarjeta de video. Muchas tarjetas aceptarán 25, 28, 43 y 50 líneas.

En una consola de texto Linux/FreeBSD you're stuck con la cantidad de líneas disponibles (generalmente 25). En una ventana xterm de Linux/FreeBSD, ed usará la cantidad de líneas que están disponibles inicialmente al arrancar ed. Cambiar el tamaño de la ventana no tendrá efecto hasta que se arranque ed.

m -
Muestra las modificaciones hechas hasta ahora. El búfer de edición actual se guarda como editbuff.tmp, y se lo compara con el archivo en disco usando el comando fc del DOS, o el comando diff de Linux/FreeBSD. diff command. Esc m es muy útil cuando quiere cerrar el editor, pero no recuerda que cambios hizo, o si está bien guardarlos. También es útil cuando comete un error de edición y quiere ver como se veía el texto original. Al salir del editor tiene la posibilidad de borrar editbuff.tmp.
ddd - Mueve el cursor a la línea número ddd. Por ejemplo, Esc 1023 Enter mueve el cursor a la línea 1023 del archivo.
CR -
Esc Carriage-Return, es decir, Esc Enter, le dirá el nombre del archivo actual, tanto como la línea y posición del caracter en el que está, y si el archivo fue modificado desde la última grabación. Si presiona Esc y cambia de idea, solamente presione Enter, así puede ir nuevamente a edición.


Recordar cadenas anteriores

Los comandos Esc n, Esc d, Esc r y Esc f le piden que ingrese una cadena. Puede recordar y editar esas cadenas del mismo modo que lo hace en la línea de comandos de DOS o Linux/FreeBSD. Presione flecha hacia arriba o flecha hacia abajo para ciclar entre las cadenas que previamente ingresó para un dado comando, entonces use las flechas izquierda o derecha y la tecla Supr para editar las cadenas. Presione Enter para aceptar la cadena.


Cortar y pegar

Al aplicar Ctrl+Supr (o Ctrl+D) a una serie de líneas consecutivas, o Supr a una serie de caracteres consecutivos, se crea un "búfer de borrado" conteniendo solamente aquello que borró. Este búfer de borrado se puede reinsertar al mover el cursor y presionar Insert.

Cada vez que abandona la tarea y comienza a borrar alguna otra parte, se inicia un nuevo búfer de borrado, perdiéndose el anterior. Por ejemplo, corte una serie de líneas con Ctrl+Supr. Entonces mueva el cursor a donde quiere pegar las líneas y presione Insert. Si quiere copiar las líneas sin destruir el texto original, primero presione Ctrl+Supr e inmediatamente Insert para reinsertarlas. Luego muévase a alguna otra parte donde quiera insertarlas nuevamente y presione Insert tantas veces como quiera. También puede presionar Supr sobre una serie de caracteres individuales, mueva el cursor y pegue los caracteres borrados en algúnotro lugar. Inmediatamente presione Insert después de borrar si no quiere perder los caracteres originales.

Una vez que tiene el búfer de borrado, puede presionar Esc n para leer un nuevo archivo, o puede presionar una tecla de Función para seleccionar una nueva ventana de edición. Luego puede insertar su búfer de borrado.


Uso de tabuladores

El ancho estándar del tabulador es 8 espacios. El editor asume tab=8 para la mayoría de los archivos. Sin embargo, es más conveniente al editar un programa tener un tabulador igual a la cantidad de espacios que utiliza como sangría. Por lo tanto encontrará que los tabuladores están establecidos a 4 cuando edita archivos Euphoria (o archivos .c, .h o .bas). El editor convierte de tab=8 a tab=4 cuando lee su programa, y lo convierte nuevamente a tab=8 al guardarlo. Así su archivo se mantiene compatible con el mundo de tab=8, por ejemplo PRINT, EDIT, etc del MS-DOS. Si quisiera elegir una cantidad diferente de espacios de sangría, cambie la línea que dice "constant PROG_INDENT = 4" en la parte superior de ed.ex.


Líneas largas

Las líneas que se extienden más allá del borde derecho de la pantalla, se marcan con un caracter de video inverso en la 80ª columna. Esto le advierte que hay más texto "allí afuera" que no puede ver. Puede mover el cursor más allá de la 80ª columna. La pantalla se desplazará hacia la izquierda o derecha, por lo que la posición del cursor siempre estará visible.


Tamaño máximo del archivo

Como cualquier otro programa Euphoria, ed puedre acceder a toda la memoria de su máquina. Puede editar enormes archivos y, salvo que se use el archivo de intercambio, la mayoría de las operaciones serán muy rápidas.


Archivos que no son de texto

ed está diseñado para editar archivos de texto puro, aunque puede usarlo para ver otros archivos. Cuando ed lee un archivo, reemplaza ciertos caracteres no imprimibles (menores que ASCII 14) con ASCII 254 - un cuadrado pequeño. Si intenta guardar un archivo que no es de texto, será alertado acerca de esto. (El Edit de MS-DOS corromperá silenciosamente un archivo que no es de texto - ¡no lo guarde!). Como ed abre todos los archivos como "texto", aparecerá un caracter Ctrl+Z (26) inserto en un archivo que ed interpretará como el fin del archivo.


Nombres largos

Aunque ed es un editor DOS, puede editar los archivos existentes que tengan rutas con nombres largos en ellas y el nombre completo será preservado. Sin embargo, esta versión de ed no creará nuevos archivos con nombres largos. El nombre se truncará según el estándar DOS 8.3 de longitud.


Terminador de línea

El terminador de fin-de-línea en Linux/FreeBSD es simplemente \n. En DOS y Windows, las líneas de los archivos de tecto terminan con \r\n. Si copia un archivo DOS o Windows a Linux/FreeBSD e intenta modificarlo, ed le dará la opción de mantener los terminadores \r\n, o guardar el archivo con terminadores \n.


Código fuente

El código fuente completo de este editor está en bin\ed.ex y bin\syncolor.e. Sus mejoras serán bienvenidas. Hay una sección en la parte superior de ed.ex conteniendo parámetros de configuración "modificables por el usuario" que puede ajustar. Tal vez sea necesario ajustar los colores y el tamaño del cursor en algunos sistemas operativos.


Plataforma

ed corre mejor con ex.exe o exu, pero también lo hará con exw.exe.