ed

Entre los primeros editores de texto que puedes utilizar en los sistemas remotos con Unix se encuentra Ed. Se trata de un programa primitivo, de tipo modal y para escribir orientado a lineas.

Hoy se lo emplea para para crear, mostrar, modificar y manipular archivos de texto en forma remota o local.

Ed carece de control de cursor direccionable pues originalmente estaba previsto para operarse a traves de una teletipo.

Uso

Podras iniciarlo simplemente ingresando el comando:

ed

Si se lo ejecuta con un argumento de archivo existente, copiara dicho archivo a la memoria del editor (en la jerga, "almacen"). Por ejemplo podremos utilizar:

ed archivo.txt

Al iniciar, ed no presenta nada en nuestra terminal. Para comenzar a agregar una linea, podremos ingresar el comando "agregar", con:

a

...seguido de la tecla Intro, a fin de indicarla al programa la orden "agregar".

De ahora en mas, has pasado al modo de almacenamiento, sin que ed te lo informe de manera alguna. Todas las lineas que mecanografies en tu terminal se iran almacenando en el buffer de memoria, no bien las introduz con la tecla Intro.

Como en todos los antiguos editores orientados a lineas, las posibilidades de edicion una vez que almacenadas las lineas en el buffer, suelen resultar bastante limitadas y engorrosas. Por tal motivo conviene teclear con sumo cuidado y revisar bien la linea antes de presionar Intro para almacenarla.

Dependiendo de tu terminal, podras utilizar la tecla Retroceder, o bien Ctrl+h para borrar caracteres que se encuentren en la linea, pero no podras hacerlo una vez que se hayan enviado al almacen del sistema remoto.

Una vez que hayas terminado de ingresar la(s) linea(s) de texto en el almacen de memoria, podras abandonar el modo de almacenamiento y regresar nuevamente al modo de ordenes. Para ello debes introducir una linea unicamente un "." ("punto").

Al pasar al modo de ordenes, Ed tampoco informara nada, pero cualquier cosa que introduzcas a continuacion sera interpretada como orden de control.

Por ejemplo, si introduces otra vez un punto ., Ed te presentara en la terminal la ultima linea de texto almacenada en memoria.

Los cambios se realizan en el almacen de memoria del sistema remoto no se escribiran en un fichero hasta que lo solicites especificamente en el modo de ordenes. Para ello ingresa la orden w ("write" o escribir en el disco). Tambien podrias ser mas especifico, por ejemplo:

w archivo.txt

Ed te devolvera un numero indicativo de la cantidad de caracteres contenidos en el texto y almacenado ahora en el disco remoto.

Para salir del editor Ed debemos introducir la orden:

q

...y se te devolvera al prompt del interprete de comandos.

En resumen, una sesion de terminal podria verse asi:

$ ed
a
Aqui me pongo a cantar
Al compas de la viguela
Que al hombre que lo desvela
Una pena estrordinaria,
Como la ave solitaria
Con el cantar se consuela.
.
w mf.txt
152
q

Nota: ed en OpenBSD es incompatible con UTF-8, no se recomienda su uso en texto-plano para editar textos en espanol.

Desplazamiento en el texto

Normalmente al cargar un documento, te encontraras posicionado en la linea final del mismo. Si estas en el modo de ordenes, podras desplazarte siempre al final del documento con la orden de control $. Si deseas desplazarte al principio del documento, puedes hacerlo con la orden de control ^.

En cualquier caso podras saber el numero de linea en el que estas presionando con la orden n. Tambien podras presentar un listado de los numeros de linea y su contenido con la orden de control ,n.

Una vez sabida los numeros de lineas podras movernos en las lineas de texto usando el modo de ordenes e ingresando un numero de linea. O bien podras utilizar -n o +n para indicarle al cursor subir n lineas o bajar n lineas con respecto a la linea en la que te encuentras posicionados actualmente.

Cuando lo hagas, Ed te devolvera el contenido de dicha linea , y podras cambiarla con la orden de control c ("cambiar"). En tal caso, podras volver a mecanografiar el contenido de la linea corregida e ingresarla con la tecla Intro. Finalmente podras guardar cambios en disco con el comando w.

Debes considerar que la orden de control a te permite agregar una linea despues de la linea actual. En el caso de querer agregar una linea antes de la linea actual, puedes hacerlo con la orden de control i ("insertar").

Si deseas borrar una linea desplazate hacia ella de la forma explicada, y utilizala la orden de control d. Si quisieras borrar una linea que no es la actual, indica en numero de linea seguido de d.

Comandos de Ed

Edita el fichero ingresando los comandos de ed con la siguiente sintaxis:

[rango][comando]

rango especifica la linea o bloque de lineas consecutivas (sintaxis: desde_linea,hasta_linea), en cual deseas aplicar el comando.

Sintaxis de linea
n
.
$
'c
-[n]
+[n]
,
;
?re?
/re/
Comandos de Entrada
a
c
i
.
Comandos de Edicion
d
u
s/re/s /[g|n][p]
m[linea]
t[linea]
(.,+)j
(1,$)g/re/cmds
(1,$)v/re/cmds
Comandos de Archivado
e [fichero*]
E [fichero*]
f [fichero]
($)r [fichero]
*
(1,$)W [fichero*]
(1,$)w [fichero*]
(1,$)wq [fichero*]
Comandos de Presentacion
p
l
n
(+)z[lineas] |Desplaza z lineas. | |(+)null
Otros comandos
kc
($)=
h
!comando-de-shell
q
Q

Conclusion

Ed es un editor de texto antediluviano y engorroso de operar en lineas ya escritas. Aun asi, esta forma, Ed nos permite trabajar minimamente en un sistema que presenta lineas de texto.