| Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa |
| edlin [2023/11/13 03:24] – [Comandos de Edlin] peron | edlin [2026/04/21 16:06] (actual) – editor externo 127.0.0.1 |
|---|
| =====FreeDOS EdLin==== | =====FreeDOS EdLin==== |
| |
| **FreeDOS EdLin** es un [[editores de texto|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]]. | **FreeDOS EdLin** es un [[editores de texto|editor de texto]] libre orientado a líneas, que replica el uso de un editor privativo del mismo nombre. Asimismo, verás que guarda ciertas similitudes al editor [[ed]]. |
| |
| ===Compila FreeDOS Edlin=== | >EDLIN original fue programado por Tim Paterson en agosto de 1980. Al mismo tiempo de escribirlo, entró en tratativas con Seattle Computer Products para renombrar el sistema QDOS a 86-DOS 0.2. Poco después sería adquirido por Micro-soft, quien licenciaría el uso de todo el paquete bajo la marca MS-DOS. |
| |
| Para poder utilizar EdLin deberás por primera vez [[tutorial de compilación|compilarlo]]. Ejecuta este bloque de comandos en la terminal: | Podrás invocar EdLin con: |
| | |
| <code bash> | |
| 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/ | |
| </code> | |
| | |
| Podrás ahora invocar EdLin en si mismo: | |
| |
| <code bash>edlin fichero.txt</code> | <code bash>edlin fichero.txt</code> |
| ====Uso básico==== | ====Uso básico==== |
| |
| EdLin es un editor modal. Su prompt de órdenes es un caracter ''*'', mientras que el prompt de escritura es un caracter '':''. | 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. Puedes utilizar la orden ''?'' para ver la ayuda de comandos disponibles. |
| | |
| | Para comenzar a agregar líneas ingresa la orden ''a'', y al recibir su prompt '':'', comienza a mecanografiar tu línea. Antes de introducirla, podrás borrar y reescribir caracteres. Para introducir la línea en el búfer de EdLin, presiona la **tecla intro**. |
| |
| Por convención EdLin opera con bloques de sólo 11 líneas. Puedes utiliza orden ''?'' para ver la ayuda con comandos. | Para cesar el modo de inserción, introduce un ''.'' en una línea aislada y volverás al //prompt de comandos// ''*''. |
| |
| Para comenzar a agregar líneas ingresa la orden ''a'' y al recibir su prompt '':'', comienza a mecanografiar las línea. Antes de introducirla, podrás borrar y reescribir caracteres. Para introducir la línea en el búfer de EdLin, presiona la **tecla intro**. | Para listar las últimas 11 líneas ingresa la orden ''l'', y para listar todas las líneas desde la primera, ingresa ''1l''. |
| |
| >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. | Podrás guardar el fichero con el comando ''w fichero.txt''. Podrás salir con el comando ''e''. |
| |
| 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 ''e''. | >Recuerda que en [[UNIX]] las líneas de texto no necesariamente se limitan a una cantidad de caracteres específico, sino que equivalen a __párrafos completos__. Este comportamiento es diferente al clásico EdLin de MS-DOS. |
| |
| ==== Comandos de Edlin ==== | ==== Comandos de Edlin ==== |
| Para realizar operaciones más complejas debes emplear la sintaxis de comandos de EdLin. | Para realizar operaciones más complejas debes emplear la sintaxis de comandos de EdLin. |
| |
| En esta, asumiento que los valores entre corchetes ''[]'' son opcionales, | En esta, asumiendo que los valores entre corchetes ''[]'' son opcionales, |
| |
| - ''#'' es un número de línea, aunque también puede indicarse: | - ''#'' es un número de línea, aunque también puede indicarse: |
| - o ya sea un numeral posicional, de tipo ''+'' o ''-'' otro número. | - o ya sea un numeral posicional, de tipo ''+'' o ''-'' otro número. |
| |
| Luego, los comandos son: | Por tanto, los comandos son: |
| |
| ^ **Orden** ^ **Resultado** ^ | ^Orden ^Resultado ^ |
| | ''#'' | Edita sólo la línea # | | |''#'' |Edita sólo la línea # | |
| | **a** | agrega una línea a continuación | | |**a** |Agrega una línea __a continuación__ | |
| | **[#],[#],#,[#]c** | Copiar línea/rango de líneas | | |**[#],[#],#,[#]c** |Copiar línea/rango de líneas | |
| | **[#][,#]d** | borrar linea/rango de líneas | | |**[#][,#]d** |Borrar linea/rango de líneas | |
| | **e**''fichero.txt'' | Guardar y salir | | |**e**''fichero.txt'' |Guardar y salir | |
| | **[#]i** | Inserta una línea previamente | | |**[#]i** |Inserta una línea __previamente__ | |
| | **[#][,#]l** | lista 11 líneas/rango de líneas | | |**[#][,#]l** |lista 11 líneas/rango de líneas | |
| | **[#],[#],#m** | mueve el rango de líneas a una posición de línea | | |**[#],[#],#m** |mueve el rango de líneas a una posición de línea | |
| | **[#][,#]p** | pagina un rango de líneas | | |**[#][,#]p** |pagina un rango de líneas | |
| | **q** | Salir de Edlin | | |**q** |**Salir de Edlin** | |
| | **[#][,#][?]r**''cadena1''**,**''cadena2'' | Reemplazar una [[#cadena de caracteres en edlin|cadena de caracteres]] por otra. | | |**[#][,#][?]r**''cadena1''**,**''cadena2'' |Reemplazar una [[#cadena de caracteres en edlin|cadena de caracteres]] por otra. | |
| | **[#][,#][?]s**''cadena'' | Buscar una cadena de caracteres | | |**[#][,#][?]s**''cadena'' |Buscar una cadena de caracteres | |
| | **[#]t**''fichero.txt'' | Transferir un fichero | | |**[#]t**''fichero.txt'' |Transferir un fichero | |
| | **[#]w**''fichero.txt'' | Guardar un fichero | | |**[#]w**''fichero.txt'' |Guardar un fichero | |
| |
| Veamos algunos ejemplos de edición avanzada según estos criterios. | Veamos algunos ejemplos de edición avanzada según estos criterios. |
| ===Editar línea única=== | ===Editar línea única=== |
| |
| Para editar únicamente la décimo novena línea, en el prompt de comandos indica **19**. EdLin te presentará la línea solicitada en la terminal como referencia. Al reescribirla, se reemplazará únicamente la línea número 19 del búfer de memoria. | Para editar únicamente la décimo novena línea, en el //prompt de comandos// indica **19**. EdLin te presentará la línea solicitada en la terminal como referencia. Al reescribirla, se reemplazará únicamente la línea número 19 del búfer de memoria. |
| |
| ===Insertar líneas=== | ===Insertar líneas=== |
| | |
| Para pasar al modo de inserción __antes__ de la décimo tercer línea, en el modo de comandos introduce **13i**. Mientras introduces texto, podrás utilizar las secuencias de escape indicadas anteriormente. | Para pasar al modo de inserción __antes__ de la décimo tercer línea, en el modo de comandos introduce **13i**. Mientras introduces texto, podrás utilizar las secuencias de escape indicadas anteriormente. |
| |
| Podrás encerrar las **cadenas de caracteres** tanto en //apóstrofes// ''<nowiki>'...'</nowiki>''como //comillas// ''<nowiki>"..."</nowiki>'', o podrán contener las siguientes //secuencias de escape//: | Podrás encerrar las **cadenas de caracteres** tanto en //apóstrofes// ''<nowiki>'...'</nowiki>''como //comillas// ''<nowiki>"..."</nowiki>'', o podrán contener las siguientes //secuencias de escape//: |
| |
| | ''<nowiki>\a</nowiki>'' | Carácter de campana | | ^Cadena de Caracteres ^Caracter de resultado ^ |
| | ''<nowiki>\b</nowiki>'' | Carácter de Retroceder (borrado) | | |''<nowiki>\a</nowiki>'' |Carácter de campana | |
| | ''<nowiki>\e</nowiki>'' | Escape | | |''<nowiki>\b</nowiki>'' |Carácter de Retroceder (borrado) | |
| | ''<nowiki>\f</nowiki>'' | Alimenta papel | | |''<nowiki>\e</nowiki>'' |Escape | |
| | ''<nowiki>\t</nowiki>'' | Tabulador horizontal | | |''<nowiki>\f</nowiki>'' |Alimenta papel | |
| | ''<nowiki>\v</nowiki>'' | Tabulador vertical | | |''<nowiki>\t</nowiki>'' |Tabulador horizontal | |
| | ''<nowiki>\"</nowiki>'' | Comillas | | |''<nowiki>\v</nowiki>'' |Tabulador vertical | |
| | ''<nowiki>\'</nowiki>'' | Apóstrofe | | |''<nowiki>\"</nowiki>'' |Comillas | |
| | ''<nowiki>\.</nowiki>'' | Punto | | |''<nowiki>\'</nowiki>'' |Apóstrofe | |
| | ''<nowiki>\\</nowiki>'' | Barra invertida | | |''<nowiki>\.</nowiki>'' |Punto | |
| | ''<nowiki>\dNNN</nowiki>'' | Valor decimal, donde cada ''N'' es un dígito decimal (de ''0'' a ''9'') | | |''<nowiki>\\</nowiki>'' |Barra invertida | |
| | ''<nowiki>\xXX</nowiki>'' | Valor Hexadecimal, donde cada ''X'' es un dígito hexadecimal (de ''0'' a ''F'', tanto en mayúsculas como minúsculas) | | |''<nowiki>\dNNN</nowiki>'' |Valor decimal, donde cada ''N'' es un dígito decimal (de ''0'' a ''9'') | |
| | ''<nowiki>\OOO</nowiki>'' | Valor octal, donde cada ''O'' es un dígito cotal (de ''0'' a ''7'') | | |''<nowiki>\xXX</nowiki>'' |Valor Hexadecimal, donde cada ''X'' es un dígito hexadecimal (de ''0'' a ''F'', tanto en mayúsculas como minúsculas) | |
| | ''<nowiki>\^C</nowiki>'' | Caracter de Control, tal como ''\^J'' para un caracter **Control+j** literal (linefeed). | | |''<nowiki>\OOO</nowiki>'' |Valor octal, donde cada ''O'' es un dígito cotal (de ''0'' a ''7'') | |
| | |''<nowiki>\^C</nowiki>'' |Caracter de Control, tal como ''\^J'' para un caracter **Control+j** literal (linefeed). | |
| |
| ==Reemplazar una cadena== | ==Reemplazar una cadena== |
| |
| Si la búsqueda localiza la subcadena, la línea actual será la línea donde finalizó la búsqueda. | Si la búsqueda localiza la subcadena, la línea actual será la línea donde finalizó la búsqueda. |
| | |
| ===Trabajo de Ficheros en EdLin=== | ===Trabajo de Ficheros en EdLin=== |
| | |
| ==Transferir un fichero== | ==Transferir un fichero== |
| |