edlin

¡Esta es una revisión vieja del documento!


FreeDOS EdLin es un editor de texto orientado a líneas que replica el uso del editor tradicional de MS-DOS 3.2, del mismo nombre. Verás que guarda ciertas similitudes al editor ed.

Compila FreeDOS Edlin

Para poder utilizar EdLin deberás por primera vez compilarlo. Ejecuta este bloque de comandos en la terminal:

mkdir ~/amd64_bin ;
cd /tmp ;
wget https://sourceforge.net/projects/freedos-edlin/files/freedos-edlin/2.22/edlin-2.22.tar.gz ;
tar xvzf edlin-2.22.tar.gz ;
cd /tmp/edlin-2.22/ ;
./configure ;
make ;
cp /tmp/edlin-2.22/edlin ~/amd64_bin ;
rm -r /tmp/edlin-2.22/

Podrás ahora invocar EdLin en si mismo:

edlin fichero.txt

EdLin es un editor modal. Su prompt de órdenes es un caracter *, mientras que el prompt de escritura es un caracter :.

Por convención EdLin opera con bloques de sólo 11 líneas.

Para comenzar a agregar líneas ingresa la órden a y al recibir el prompt : comienza a escribir. Podrás borrar y editar la líneas. Para introducir la línea en el búfer de EdLin, presiona la tecla intro.

Recuerda que en UNIX las líneas de texto no necesariamente se limitan a una cantidad de caracteres específico, pueden equivaler a párrafos completos. Este comportamiento es diferente al clásico EdLin de MS-DOS.

Para cesar el modo de inserción, introduce un . en una línea aislada y volverás al prompt de comandos *. Podrás guardar el fichero con el comando w fichero.txt. Podrás salir con el comando exit.

Agregar líneas al fichero

En el modo de comando utiliza el comando a para agregar líneas al fichero. Para cesar el modo de inserción, ingresa un . en una línea aislada y volverás al modo de comando.

Editar línea única

En el prompt de comandos podrías indicar 109 para editar únicamente la línea número 109. EdLin te presentará la línea solicitada en la terminal como referencia. Cuando introduzcas una línea, esta reemplazará la misma en el fichero.

Insertar líneas

Utiliza 134i para pasar al modo de inserción antes de la línea 134. Mientras introduces texto, podrás utilizar las secuencias de escape indicadas anteriormente.

Si deseas abandonar el modo de inserción, ingresa . en una línea aislada (si necesitas una línea que sólo contenga literalmente un punto, deberías indicarlo como \.).

Luego de abandonar el modo de inserción, el puntero pasará a la línea siguiente, a no ser que la inserción se hubiese suspendido al final del búfer, en cuyo caso el puntero pasará a ser la última línea del búfer, naturalmente.

Listar líneas

Use [#][,#]l para listar líneas de texto en la pantalla. Si se omite el primer parámetro, mostrará el texto que comienza 11 líneas antes de la línea actual.

Si se omite el segundo parámetro, se mostrará una pantalla de texto que comenzará con la línea especificada en el primer parámetro.

Si se omiten ambos parámetros, se mostrará una pantalla de texto que comience 11 líneas antes de la línea actual.

En caso que el número de líneas a mostrar sea más largo que el número de líneas de la pantalla, edlin lo consultará antes de paginar la pantalla.

Mover líneas

Utilice [#],[#],#m para mover un bloque de texto a la línea antes que el número especificado en el tercer parámetro. Funciona igual a copiar, sólo que borrará el bloque original

Presentar líneas

Utiliza 12,23p para presentar el rango de líneas 11 a 23 en pantalla. Es similar al comando l (“listar”) con la excepción que los parámetros por defecto comienzan en la línea actual en lugar de hacerlo con las 11 líneas posteriores.

Copiar un rango de líneas

Utiliza 9,12,33,1c para copiar un rango de líneas consecutivo a otra localización del búfer. En orden, los parámetros son:

-La primer línea que quiere copiar (en este caso 9, pero por defecto es la línea actual) -La última línea que quiere copiar (en este caso 12, pero por defecto es la línea actual) -La línea anterior a la cual desea insertarle el bloque de líneas (en este ejemplo, 33) -La cantidad de veces que desea copiar el bloque indicado (por defecto es 1 sola copia)

Luego de copiar las líneas, es conveniente usar el comando l (“listar”) para ver los nuevos números de línea.

Borrar rango de líneas

Utilice d para borrar la línea actual.

Pero si utilizas [#][,#]d podrás borrar un bloque de líneas consecutivas del búfer. Los parámetros son la primer línea y de la última línea a borrar.

Si omite el primer parámetro, se borrará el bloque de texto desde la línea actual a la línea especificada como segundo parámetro (asegúrese de incluir la ,).

Si omite el segundo parámetro, borrará unicamente la línea especificada en el primer parámetro.

Guardar y salir

Utilice el comando e fichero para guardar y salir (es equivalente a w fichero seguido de q).

Se le preguntará “Abort edit (Y/N)?” para indicar si desea realmente salir antes de hacerlo. Para salir sin guardar. En tal caso presione la tecla y.

Salir

Utiliza q para salir de EdLin.

Esto se verificará para saber si realmente desea salir. En tal caso, ante la pregunta “Abort edit (Y/N)?” responda yes.

Ten en cuenta estas convenciones para operar el modo de comandos:

  • Los corchetes [] son parámetros opcionales.
  • El símbolo # representará un número de línea, que puede ser uno de varios valores posibles:
Una cadena de dígitos, o sea un número de línea literal Por ejemplo, 12 es la decimosegunda línea.
$ (“peso”) representa la línea final del fichero.
# (“numeral”) representa al número de línea anterior al final del fichero.
. (“punto”) representa número de línea actual en el fichero.
+n o -n es un diferencial de suma o resta del número de línea actual. Es útil para dar posiciones relativas a una línea, tal como .+1 para significar “la línea posterior a la actual”.
  • El símbolo $ representa una cadena de caracteres. Podrás encerrar la cadena tanto en apóstrofes '...'como comillas "...", o podrán contener las siguientes secuencias de escape:
\a Carácter de campana
\b Carácter de Retroceder (borrado)
\e Escape
\f Alimenta papel
\t Tabulador horizontal
\v Tabulador vertical
\" Comillas
\' Apóstrofe
\. Punto
\\ Barra invertida
\dNNN Valor decimal, donde cada N es un dígito decimal (de 0 a 9)
\xXX Valor Hexadecimal, donde cada X es un dígito hexadecimal (de 0 a F, tanto en mayúsculas como minúsculas)
\OOO Valor octal, donde cada O es un dígito cotal (de 0 a 7)
\^C Caracter de Control, tal como \^J para un caracter Control+j literal (linefeed).

Reemplazar una cadena

Utiliza [#][,#][?]r$,$ para reemplazar todas las ocurrencias de la primer cadena con la segunda cadena entre las dos líneas especificadas.

Si omite el primer parámetro, reemplazará a partir de la línea posterior a la actual. Si omite el segundo parámetro, dejará de reemplazar texto en la última línea del búfer.

Si incluye un ?, edlin mostrará un mensaje de confirmación antes de reemplazar el texto

Búsqueda de cadena

Use [#][,#][?]s$ para buscar la primer línea que contenga la subcadena especificada.

Si omite el primer parámetro, comenzará a buscar desde la línea actual. Si omite el segundo parámetro, dejará de buscar al llegar al final del búfer. Si incluye el ?, edlin solicitará confirmación ante cada encuentro. Si responde “no”, continuará la búsqueda. Si responde “yes” finalizará la búsqueda.

Si la búsqueda localiza la subcadena, la línea actual será la línea donde finalizó la búsqueda.

Transferir un fichero

Utilice [#]t fichero para transferir un archivo.

Inserte el contenido de un fichero antes del número de línea especificado. Si omite el primer número de línea, se insertará antes de la línea actual.

Grabar un fichero

[#]w fichero Graba las primeras líneas # en el fichero especificado en el disco. Si se omiten los parámetros de números, se escribirán todas las líneas en el búfer.

  • edlin.1699828756.txt.gz
  • Última modificación: 2023/11/12 22:39
  • por peron