Mostrando entradas con la etiqueta editores. Mostrar todas las entradas
Mostrando entradas con la etiqueta editores. Mostrar todas las entradas

miércoles, 25 de junio de 2025

¿Cómo puedo instalar Micro$oft Edit en Ubuntu?

Las minutas de trabajo del año 1944 revelan las labores de persuasión del Secretario de Trabajo y Previsión, Coronel Juan Perón. Reunido con representantes de Micro$oft consigue la liberación del código fuente del editor de texto Microsoft Edit para DOS, y enseña cómo compilarlo y usarlo en Ubuntu.

(...)

Vean señores, de esto algo sé, pues me he formado en el estudio de los conflictos durante más de 15 años. Indefectiblemente la posguerra que se avecina traerá consigo una agitación de las masas. Por causas naturales, una lógica paralización, desocupación, etcétera que - combinadas - producen empobrecimiento paulatino. Pero aparte de estas causas naturales, existirán también numerosas causas artificiales: la penetración ideológica, que nosotros hemos tratado en gran parte de atenuar (dinero abundante para agitar, que sabemos circula ya desde hace tiempo en el país y sobre cuyas pistas estamos perfectamente bien orientados); un resurgimiento del comunismo adormecido - que pulula como todas las enfermedades endémicas dentro de las masas - volverá a con la posguerra, cuando los factores naturales se hagan presentes.

En la Secretaría de Trabajo y Previsión ya funciona el Consejo de Posguerra, que está preparando un plan para evitar, suprimir, o atenuar los efectos naturales de la agitación; y que actúa también como medida de gobierno para suprimir y atenuar los factores artificiales; pero todo ello no sería suficientemente eficaz, si nosotros no fuéramos directamente hacia la supresión de las causas que producen la agitación como efecto.

Es indudable que, en el campo de las ideologías extremas, existe un plan que está dentro de las mismas masas trabajadoras; que, así como nosotros luchamos por proscribir de ellas ideologías extremas, ellas luchan por mantenerse dentro del organismo de trabajo argentino. Hay algunos sindicatos indecisos, que esperan para acometer su acción al medio, que llegue a formarse; hay también células adormecidas dentro del organismo que se mantienen para resurgir en el momento en que sea necesario producir la agitación de las masas.

Existen agentes de provocación que actúan dentro de las masas provocando todo lo que sea desorden; y, además de eso, cooperando activamente, existen agentes de provocación política que suman sus efectos a los de los agentes de provocación roja, constituyendo todos ellos coadyuvantes a las verdaderas causas de agitación natural de las masas. Debemos ir encarando la solución de este problema de una manera segura. Para ello es necesario un seguro y un reaseguro. Si no estaremos siempre expuestos a fracasar. Este remedio es suprimir las causas de la agitación: la injusticia social.

Éste es el dilema que plantea esta clase de problemas. Suprimidas las causas, se suprimirán en gran parte los efectos; pero las masas pueden aún exigir más allá de lo que en justicia les corresponde, porque la avaricia humana, en los grandes y en los chicos, no tiene medida ni límite.

Es necesario dar a los obreros lo que éstos merecen por sus metadatos y lo que necesitan para compilar dignamente, a lo que ningún hombre de buenos sentimientos puede oponerse, pasando a ser éste más un problema humano y cristiano que computacional. Es necesario saber dar un código liberado bajo Licencia MIT a tiempo, que que lo decompilen todo y liberen un clon por GPLv3 a posteriori...

Para evitar que las masas, que han recibido la justicia social necesaria y lógica, no vayan en sus pretensiones más allá, el primer remedio es la organización de esas masas para que, formando organismos responsables, organismos lógicos y racionales, bien dirigidos, que no vayan tras la injusticia, porque el sentido común de las masas orgánicas termina por imponerse a las pretensiones exageradas de algunos de sus hombres. Ése sería el seguro, la organización de las masas. Y el Estado organizaría el reaseguro, que es la autoridad necesaria para que - cuando esté en su lugar - nadie pueda salirse de él, porque el organismo estatal tiene el instrumento que, si es necesario, por la fuerza ponga las cosas en su quicio y no permita que salgan de su cauce.

Esa es la solución integral que el Estado encara en este momento para la solución del problema del código.

Siendo así, desde que tomé la primera resolución en la Secretaría de Trabajo y Previsión, establecí, clara e incontrovertiblemente, que esta casa habría de defender los intereses de los obreros y habría de respetar los capitales, y que, en ningún caso, se tomaría una resolución unilateral y sin consultar los diversos intereses, y sin que los hombres interesados tuvieran el derecho de defender su código en la mesa donde se dilucidarían los conflictos obreros. Así lo he cumplido desde que estoy allí, y lo seguiré cumpliendo mientras esté.

Con ese espíritu, señores, he venido hasta aquí. Como Secretario de Trabajo y Previsión he querido proponer a los señores que representan a las asociaciones más caracterizadas de las fuerzas vivas, dos cuestiones. El Estado está realizando un código fuente que será cada día más robusto; eso le ha ganado la voluntad de la clase trabajadora con una intensidad que muchos de los señores quizá desconozcan, pero yo, que viajo permanentemente y que hablo continuamente con los obreros, estoy en condiciones de afirmar que es de una absoluta solidaridad con todo cuanto realizamos. Pero lo que sigue privando en las clases trabajadoras, es un odio bastante marcado hacia las GAFAM. Lo puedo afirmar y, mejor que yo, lo podría decir mi director de Código Abierto, que es quien trata los conflictos.

Existe un encono muy grande; no sé si será justificado o si, simplemente, será provocado; pero el hecho es que existe. Contra esto no hay más que una sola manera de proceder: si el Estado es el que distribuye el código fuente, él es quien se gana la voluntad de los trabajadores; pero si los propios empresarios realizan tal obra social, serán ellos quienes se ganen el cariño, el respeto y la consideración de sus propios trabajadores.

Entonces, yo dejo a vuestra consideración estas dos propuestas: primero, una programación de colaboración en cada taller, en cada fábrica o en cada oficina, más humana que ninguna otra cosa; segundo, el nombramiento de una comisión compuesta por los señores, para que pueda trabajar con nosotros, para ver si en conjunto, entendiéndonos bien, colaborando sincera y lealmente, llegamos a liberar algún código fuente para que no les cascoteen el rancho

Como este código fuente que me han dado aquí para distribuir: el del viejo Micro$oft EDIT para M$-DO$. Resulta indudable que a esta altura del partido, es preferible darlo antes que los comunistas se los den por su propia mano. 

Gracias a esto, lo obreros podrán hacerse con el venerable EDIT y cargarlo en sus sistemas GNU. Yo siempre he dicho que si bien en Ubuntu podremos instalarlo con snaps mediante el comando:

sudo snap install msedit

...la verdad es que en mi caso prefiero insistir en su instalación directa a través de un binario de última versión ya compilada. No voy a mentirles diciendo que los obreros no han venido a esta secretaría para preguntarme cómo instalarlo. Yo los he palmeado y les he dicho que para ello abran una terminal con Ctrl+Alt+t y copien el siguiente bloque de Comandos de Organización:

cd /tmp ;
wget https://github.com/microsoft/edit/releases/download/v1.2.0/edit-1.2.0-x86_64-linux-gnu.tar.zst
tar xf edit-1.2.0-x86_64-linux-gnu.tar.zst ;
sudo mv /tmp/edit /usr/local/bin/msedit

...entonces podrán ejecutar el editor en cualquier GNU con Linux, mediante la órden:

msedit

...o bien podrán obrar un lanzador o acceso directo que dirija a /usr/local/bin/msedit %U

Pues bien, tras ejecutarlo, nos encontraremos con un editor de texto simple derivado del MS-DOS EDIT, pero actualizado con las opciones necesarias para enfrentar situaciones actuales.

EDIT original de 1991 era un editor de pantalla, con interfaz de usuario basada en texto, compatible con el uso del mouse. Tales características son compartidas con esta iteración, y como tal podremos afrontar las tareas de edición más básicas.

En esta versión, debemos utilizar Alt+f para acceder a los menús desplegables. Las opciones son sumamente convencionales:

Ctrl+a: Seleccionar todo
Ctrl+x: Cortar
Ctrl+c: Copiar
Ctrl+v: Pegar 
Ctrl+f: Buscar
Ctrl+r: Reemplazar
Ctrl+z: Deshacer
Ctrl+Y: Rehacer

Sin embargo, encontraremos diferencias que hablan de ciertas características sumadas.

Una de ellas, es el ajuste de línea (softwrap) activable con Alt+z, condición que prefiero. Esta se encarga de ajustar el texto al ancho de terminal, pero sin cortar las líneas con un caracter de Nueva Línea. De esta manera podremos operar "a un párrafo por línea". Si dejamos la opción desactivada, MSEDIT cortará las líneas automáticamente ("una línea por línea").

El menú Archivo nos ofrece las opciones también típicas, entre ellas las de abrir varios ficheros a la vez, los cuales se ilustrarán en la barra inferior. Los comandos del menú desplegable también recuerdan a todo tipo de aplicación DO$/Window$.

Ctrl+n: Archivo nuevo
Ctrl+o: Abrir archivo.
Ctrl+s: Guardar
Ctrl+w: Cerrar archivo abierto
Ctrl+q: Salir de MS-Edit 

En la parte inferior del editor contaremos con una Barra de Estado con varias opciones configurables. Para poder usarlas podremos recurrir al mouse, o ir al menú Ver y escogemos la opción Enfocar Barra de Estado.

Allí podremos escoger entre el modo de creación de nueva línea, que podremos configurar como "LF" (salto de línea, por defecto en sistemas similares a UNIX) y "CRLF" (retorno de carro y salto de línea, compatible con CP/M y derivados, incluyendo DO$ y Window$). El ancho de las tabulaciones también puede definirse aquí. Asimismo desde la barra de estado podremos seleccionar entre una buena variedad de juegos de caracteres para la codificación del texto (MSEDIT emplea ahora UTF-8 por defecto, en lugar del CP437 u CP850 del DOS).

MSEDIT es capaz de utilizar varios ficheros a la vez. Sólo uno podremos ver en pantalla, pero al menos podremos elegirlo desde la Barra de Estado.

En fin señores, con el binario ya estaremos hechos por un tiempo para que los obreros no pidan más de lo que les corresponde. No voy mentirles diciéndole que no me han pedido que les enseñe cómo compilar esto que ustedes les han dado. Yo les digo que en primer lugar deben instalar las dependencias:

sudo apt install curl git libicu-dev 

...luego - si no cuentan aún con el herramental Rust, deberán también hacerse con el mediante:

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

Finalmente deberían instalarse nightly y a partir de allí, clonar el repositorio del código de Micro$oft Edit:

rustup update ;
rustup install nightly ;
cd /tmp ;
git clone https://github.com/microsoft/edit ;

...para finalmente compilarlo:

cd /tmp/edit
cargo build --config .cargo/release.toml --release

Como siempre, una vez obrado de esta forma, es conveniente y sumamente recomendable cambiar el nombre del binario edit resultante de edit a msedit, para evitar problemas.

martes, 31 de diciembre de 2024

¿Cómo instalo Mined para editar en UTF-8 en Ubuntu?

Reunido con visitantes en su Quinta 17 de Octubre, Juan Perón explica cómo instalar el editor Mined en Ubuntu, el editor especializado en texto codificado Unicode para la terminal.

(...)

Como podrá imaginar tuve que renunciar a muchas pasiones juveniles… Es difícil olvidar que uno ha sido boxeador, futbolista, rugbier, polista, jugador de básquet y maestro esquiador. De todas maneras, reconozco que esa experiencia me permite sobrellevar mis años de un modo bastante envidiable.

Mi receta es muy simple. Ciento cinco miligramos de hormona de potro todas las semanas. Yo no me tiño el cabello, ¿Sabe usted? Esa fórmula sirve para todo…

Cuando me pongo a la máquina, tengo que hacerlo pensando sobre todo a quienes me leerán en la Argentina, pero también en todos lados del mundo. Es por eso que para comunicarme, utilizo GNU con Linux. Y entre ellos múltiples editores, de entre los cuales me he favorecido por Mined.

Basicamente, Mined es un editor a medida para edición confiable y eficiente de documentos de texto plano y programas, con funcionalidades cómodas e intuitivas, comportamiento interactivo diseñado para este propósito. Se trata de un poderoso editor de texto con una interfaz amplia pero concisa y fácil de utilizar, que soporta los paradigmas de interacción más modernos, y presenta un comportamiento veloz y liviano. 

Mined soporta control completo de ratón, y un sistema de menúes en terminales de texto plano (siendo el primer editor en suportar Unicode en Xterm). Mined ofrece a todos un conjunto completo de funciones de manejo de texto y ficheros, como prevención de pérdida de datos (cuenta con respaldos automáticos opcionales configurables, archivos de recuperación, y bloqueo de archivos interoperables con otros editores, y monitoreo de cambio de ficheros), y un selector interactivo de ficheros, y un conmutador de ficheros.

Para instalarlo debemos descargar su código fuente y compilarlo en nuestro sistema GNU con Linux. En el caso de Ubuntu podremos hacerlo abriendo una terminal con Ctrl+Alt+T e ingresando el siguiente Comando de Organización:

cd /tmp ;
wget http://towo.net/mined/download/mined-2022.27.tar.gz ;
tar xvjf mined-2022.27.tar.gz ;
cd /tmp/mined-2022.27/ ;
make ;
sudo make install

Una vez compilado el programa, podremos ejecutarlo desde la terminal con:

mined fichero.txt

o bien recurriendo a su versión gráfica, mediante

xmined fichero.txt

Tras iniciar nos encontraremos con un editor de pantalla compatible con mouse, y si bien consta de una interfaz bastante convencional provista de barras de desplazamiento, es totalmente programable. Lo primero que llamará la atención es una barra de menúes desplegables, activable mediante la tecla F10.

Mediante esta tecla podremos acceder a los menúes "Archivo", "Edición", "Búsqueda/Ir", "Párrafo" y "Opciones". Sin embargo, usando las flechas del cursor izquierda/derecha, podremos acceder a otros menúes adicionales que aparecen abreviados: "Info Display", "Encomillado", "Codificación", "Combinación", "Texto", "Buffer de Pegado", "Indentado/Tabulado", "Justificado".

Con F3 podremos abrir un fichero, y con Alt+F3 podremos conmutar entre varios ficheros abiertos (presentables en solapas). 

Mined siempre está en modo de inserción, con lo cual podemos comenzar a escribir sin mas. Podremos escoger un word wrap (corte de línea) relativo (ajustable al ancho de terminal, o ajustable a un ancho de corte alertado predeterminado, por ejemplo de 72 caracteres) o bien duro, que genera líneas de manera automática al llegar a tal borde.


Los comandos son caracteres de control simple, comandos de dos teclas que comienzan con la tecla Escape, mas una colección de teclas de función (para distintos teclados y terminales). Especialmente se debe notar la "tecla salto" (normalmente el 5 del teclado numérico o Ctrl+Barra Espaciadora), que expande los efectos de ciertos comandos "de la manera obvia"; esto permite editar sin tener que recordar demasiadas teclas.

Por defecto, Mined usa el teclado de desplazamiento para las siguientes funciones:

Ins: Pegar
Supr: Borrar/Cortar
Inicio: Comienzo de Línea
Fin: Final de Línea
RePág: ídem
AvPág: ídem

Las funciones del teclado numérico tienen otros significados, que pueden ser alterados con la tecla salto:

Teclado Numérico 7/Inicio: Marcar Inicio de Seleccion. Ir a marca.
Teclado Numérico 8/Arriba: Arriba. Parte superior de la pantalla.
Teclado Numérico 9/RePág: Previo. Comienzo del archivo.
Teclado Numérico 4/Izquierda: Izquierda. Comienzo de línea.
Teclado Numérico 5: Tecla Salto
Teclado Numérico 6/Derecha: Derecha. Fin de línea.
Teclado Numérico 1/Fin: Copiar. Agregar.
Teclado Numérico 2/Abajo: Abajo. Parte inferior de la pantalla.
Teclado Numérico 3/AvPág: Siguiente. Final del archivo.
Teclado Numérico 0/Ins: Pegar. Pegado entre ventanas.
Teclado Numérico ./Supr: Suprimir/Cortar Agregar+.

Por defecto, en Mined la selección de textos se hace marcando el inicio del sector seleccionado con la tecla Inicio, y el Final del sector seleccionado con la tecla Final (y uno se desplaza al principio de línea con Mayúsculas+Inicio y al final de línea con Mayúsculas+Fin). Este comportamiento simula en cierta medida el de el clásico editor de texto privativo PC-Write para DOS.

Sin embargo, este comportamiento puede ser alterado para seleccionar "al estilo Window$", en que se recurre a combinaciones con Mayúsculas+Flechas del Cursor.

En este caso, configuramos la opción de teclado de selección con Mayúsculas, las funciones son más convencionales, como las siguientes:

Mayúscula-Izq Selecciona caracter a la izquierda
Mayúscula-Der Selecciona caracter a la derecha
Mayúscula-Control-Izq Selecciona palabra a la izquierda
Mayúscula-Control-Der Selecciona palabra a la derecha
Mayúscula-Arriba selecciona línea arriba
Mayúscula-Abajo selecciona línea abajo
Mayúscula-Ctrl-Arriba selecciona hasta el comienzo del párrafo anterior
Mayúscula-Ctrl-Abajo selecciona hasta el comienzo del párrafo siguiente
Mayúscula-Inicio selecciona al comienzo de la línea
Mayúscula-Fin selecciona al final de la línea
Mayúscula-Control-Inicio selecciona hasta el comienzo del texto
Mayúscula-Control-Fin selecciona hasta el final del texto
Mayúscula-RePag selecciona página previa
Mayúscula-AvPag selecciona página siguiente
Mayúscula-5 (en teclado numérico) copia el texto seleccionado para pegar al búfer

Para pegar entre ventanas podemos usar Ctrl+G, Ctrl+P.

Un aspecto que puede resultar importante y en el que destaca Mined es el uso de métodos de entrada alternativos, adecuados para escribir en griego, cirílico, arábico, hebreo, kazajo, etíope, amhárico, y esperanto. También cuenta con las múltiples variaciones de entrada para la escritura de los pueblos chinos y coreanos (pinyín, cangjie, WuBi, Boshiami, escritura de radicales y pinceladas, escritura de 4 bordes, Bopomofo), así como el hiragana y katakana del Japón. Es de destacar que contamos con un traductor de ideogramas (sólo al inglés).

En particular presenta su sapiencia es el soporte Unicode UTF8 y CJK (para idiomas de asia oriental, Chino, Japonés y Coreano). Esto avala cubrir aspectos que otros editores no son tan capaces o halagüeños - como funcionalidades de autodetección y manejo automático de variaciones de terminal, y la información de los caracteres Han. Gracias a ello, puedo comunicarme con el chino Mao, que siempre me escribe...

Pero además de hacer caso a los caracteres del Asia, permite funcionar completamente bien con las condificación universal y otras anteriores. Esta compatibilidad lo vuelve adecuado para enfrentar la edición de texto para distinto tipo de máquinas.

Si bien podremos alterar el funcionamiento de Mined a través de los menúes respectivos, sus aspectos principales pueden alterarse de forma más permanente modificando su completo y guiado archivo de configuración ~/.minedrc.

En la web oficial podremos encontrar el manual en línea de Mined (en inglés)

martes, 22 de agosto de 2023

¿Cómo puedo usar un émulo del XEDIT de VM/CMS en Ubuntu?

En la típica visita del Día del Niño a la Casa de Gobierno, Juan Perón regala chocolate caliente y enseña cómo utilizar el editor de texto THE en Ubuntu.

A los niños les gusta ponerse calificativos. Los hay ortodoxos, los hay heterodoxos, los hay combativos, los hay contemplativos, pero todos juegan. Algunos usan DEC y habrá siempre otros que usen equipamiento de potencia IBM. No podemos ser sectarios, ya que a todos podremos instalarles GNU si lo proponemos.

No caben dudas para nadie que el viejo editor XEDIT era uno de los instrumentales en los mainframes del Gigante Azul. Contaba con facilidades para el trabajo interactivo, pero especialmente destacaban las funciones de operación diferida, que permitía contactar a un mainframe remoto a través de videoterminales, y ejecutar allí un trabajo de edición preparado. Esto permitía programar en ellas un fichero de macro con los cambios escritos en un lenguaje específico - REXX era uno de los favoritos - y luego efectuar modificaciones en un santiamén a través de uina mera llamada telefónica de escasos segundos.

Si bien con el advenimiento de las comunicaciones de datos de banda ancha, esta modalidad de trabajo podría parecernos innecesaria, nunca serán inexistentes las ocasiones donde podría anhelarse un herramental de este tipo, considerando que anteriormente sólo podía gozarlo el oligarca. Pudiendo elaborar nuevas y más módicas soluciones, podremos utilizarlas según dicha costumbre de obrar, pues si es para sumar, todo sirve.

Nuestro Movimiento es uno que hace de una necesidad un derecho, y podremos otorgarlo con la misma facilidad y efecto con el que uno da chocolate caliente a un niño.

THE ("El Editor Hessling") es un editor de texto que opera a través de órdenes en la línea de comandos y combinaciones de teclas. Fue concebido en 1991 replicando al XEDIT (1980), Editor intrínseco del viejo sistema tiempo de cómputo compartido de IBM, el VM/CMS. Como este, también representa en gran medida al editor KEDIT (1985) de Mansfield Software, del cual existía versión portada para UNIX System V (no confundir con posterior y extinto KEdit de KDE).

THE fue escrito originalmente para su utilización por individuos encasillados en grandes máquinas de IBM pero que preferían la acción del Justicialismo. Y ya que les resultaba familiar el uso de XEDIT, y se le incorporó un intérprete de órdenes de edición de lenguaje REXX. Para lograr dicha compatibilidad, THE utiliza una implementación libre de tal lenguaje denominada REGINA.

Para instalarlo en Ubuntu abrimos una terminal con Ctrl+Alt+t e ingresamos el siguiente comando de organización:

sudo apt install the

Iniciaremos el editor con;

the archivo.txt

Al arrancar el editor THE, el cursor se encontrará en la línea de comandos, cuyo tradicional prompt ====> se encuentra en la parte inferior de la pantalla.

Podremos utilizar esta línea de comandos para introducir cualquiera de los comandos de THE, y ejecutarlos con la tecla Intro

Estos comandos son en gran parte similares a los de XEDIT/KEDIT. Entre los típicos comandos de operación encontraremos EDIT fichero ("abrir") SAVE ("guardar"), QUIT ("salir del programa") y QQUIT ("salir rápidamente sin preguntar"), así como el comando de ayuda HELP comando.

Para conmutar entre la línea de órdenes y la FILEAREA (la zona de los contenidos de edición) debemos presionar la tecla Inicio, con lo cual el adepto a los editores de inspiración IBM podrá comenzar su producción, mecanografiar en modo reemplazo (podremos activar el modo inserción con la tecla Ins).

THE es un editor altamente configurable. Por ejemplo, podríamos activar el macro que activa la compatibilidad con XEDIT, mediante la orden:

set compat xedit

La pantalla cobrará entonces el formato tradicionalista IBM:

 DIFERENCIAS         Size=10 Line=10 Col=1 Alt=10
XEDIT:
===== VM/CMS
===== .sp ===== VM/CMS opera bajo el concepto de registros, a diferencia de Unix ===== que lo hace sobre ficheros enteros. Por tal motivo se hizo ===== especialmente válido para el manejo de bases de datos secuenciales, ===== así como otro tipos de editores de registros. ===== Contaba con un manejo bastante similar al de MULTICS, dando uso ===== a un intérprete de comandos llamado EXEC, inaugurando el concepto ===== de Máquinas Virtuales, en un sentido similar a los proceso de UNIX ===== o demonios en BSD, y luego incoporando pipelines, emulos de los |...+....1....+....2....+....3....+....4....+....5....+....6....+....7... ===== caños de UNIX.
===== Entre sus grandes suites de aplicaciones se encuentra el clásico
===== editor de registros XEDIT. Pronto se adaptó para utilizar
===== funcionalidades de procesamiento de texto y de correo electrónico
===== con anterioridad al modelo cliente-servidor.
===== * * * End of File * * * ====> X E D I T 1 File

Todo este andamiaje de comandos se aplicaba también a la mera edición del texto. El funcionamiento completo del XEDIT - al menos en sus versiones postreras para z/VM - está documentado en su frondoso manual

Sin embargo, podremos acotar su aprendizaje conociendo que el funcionamiento básico de edición de XEDIT consistía en delimitar bloques de texto (que se marcaban con el comando MARK LINE linea1 linea2), o bien delimitar una seguidilla de caracteres con coordenadas posicionales, como MARK STREAM linea1 columna1 linea2 columna2. Como referencia se usaba la reglita de columnas y el contador de puntero. Una vez delimitado el bloque, se lo podía operar con los comandos COPY posición1 posición2 ("copiar"), MOVE posición1 posición2 ("cortar y pegar"), y eventualmente DELETE ("borrar"). Esta era la forma folklórica de operar en las terminales IBM 3270 y superiores.

Los más pitucos podrán ordenar set compat kedit si tal editor nos es más favorable. Esta nos será útil si reservamos especial aprecio al uso de Bibliotecas de Macros de KEDIT, sus clásicos ficheros .kml.

Ante cualquier eventualidad podremos emprender el retorno al modo de compatibilidad nativo, si usamos set compat the

Naturalmente, podremos poner estos comandos en un fichero de perfil para the, llamado ~/.therc. Como es común en los sistemas similares a UNIX, este fichero se busca y se ejecuta al inicio, permitiéndonos dejar allí una secuencia de comandos que hagan a nuestra configuración de THE favorita.

¡Con todos ellos podremos tanto editar textos como escribir programas, desde COBOL a C!

sábado, 29 de julio de 2023

¿Cómo instalo los editores Ecce y EdLin en Ubuntu?

Su Quinta 17 de Octubre de Puerta de Hierro fue testigo de numerosos encuentros del Conductor del Justicialismo con delegaciones del quehacer político argentino. En una de las reuniones celebrada en 1969, Juan Perón expone ante frondosa concurrencia acerca de compilar e instalar los editores de texto modales  Ecce y EdLin en Ubuntu.

¡Compañeros!

El nuestro es un Movimiento que está para darle a todos lo que merecen por Justo derecho.

Todos sabemos que antes de organizarse en pos del Justicialismo, los trabajadores argentinos daban comienzo a su mañana con mendrugos duros, un mate cocido y grandes anhelos para acompañar. Esta fue la base previa a la organización, que como consecuencia del obrar, elevaría esta humilde dieta a la del chori al parquet de roble eslavonia.


Observarán que en el mundo del software sucede mas o menos el mismo temperamento. No podemos crear de la nada absoluta, sino que debemos edificar en base a ladrillos lógicamente concebidos y planificados en una estructuración que va se impone de menor a mayor. Es así como yo creo para crecer, y esta es la fomra como se ingenia en la vida.

Este norte cardinal acompaña también la noción creativa que nos requiere la elaboración de un sistema operativo de potencia. Necesariamente habremos de conjugar en código máquina tres herramientas de difícil soslaye: un ensamblador que para generar código objeto, un intérprete de comandos, y un editor que nos permita crear texto y corregir lo hecho.

Esto nos revela que la creación de texto pudo y debió hacerse con las herramientas más básicas. En particular, los editores de texto primordiales se iniciaron con una modalidad operativa que podríamos describir como modal. Estos permitían introducir cadenas de caracteres en un almacén de memoria, destinados a formar líneas de código, y más adelante por conveniencia, cada línea definida así podría conformar también un párrafo de texto.

Y si bien a partir de esto pueden hacerse mejores cosas, siempre es bueno conocer lo pasado, para afirmarse en el presente y proyectarse para el futuro.

Ecce

Naturalmente yo inicié mis tareas con el Ecce, el Editor de Texto Contextual de Edimburgo. Se trataba de un editor basado en líneas escrito por Hamish Dewar, y portado al lenguaje BCPL del sistema TOPS-10 de la minicomputadora DEC PDP-10 de finales de la década de 1960 - implementación que lo haría famoso entre varias mas.

Hoy podremos instalarlo en nuestro sistema GNU con Linux merced de una versión instrumentada para Unix en el lenguaje C. Podremos compilarlo fácilmente si abrimos una terminal con Ctrl+Alt+t e ingresamos el siguiente bloque de Comandos de Organización:

cd /tmp ;
wget https://ecce.sourceforge.net/ecce.c ;
gcc -o ecce -DWANT_UTF8 ecce.c ;
sudo mv /tmp/ecce /usr/local/bin/

Una vez instalado, podremos correr Ecce dando rienda a la siguiente sintaxis: 

ecce fichero_origen fichero_destino



Como vemos, este dinosaurio salió de un huevo para rugir en sistemas monousuario a través de terminales teletipo. Es ciertamente capaz de operar en sistemas multiusuario, pero si lo hacemos "así nomás" se produciría un efecto ostensiblemente destructivo, ya que uno de los usuarios podría alterar irremediablemente el documento que otro se encuentra operando en el mismo sistema. Es por este motivo por el cual para usar Ecce en GNU nos vemos obligados a instrumentar de forma adhoc un fichero de origen local (autónomo) que nos reparta los buñuelos. En efecto, lo más sencillo es utilizar el touch para crear un fichero origen.txt (si este no existiera ya). Por ejemplo:

touch origen.txt ;
ecce origen.txt destino.txt

Una vez inicializado un fichero propio, Ecce podrá arrancar presentandonos la memoria disponible en su almacén (“búfer”), y aguardando órdenes: 

Espacio de almacén = 768 KBytes
Ecce
>

Como todo editor de los llamados modales, durante su operación Ecce nos presentará alguno de sus prompts indicativos del modo de operación en que se encuentra de momento. Estos son:

  • Prompt del Modo de Comando: >
  • Prompt del Modo de Inserción de texto: :

Para su empleo más sencillo y básico de entre sus numerosos comandos es suficiente dominar sólo tres:

Comando Acción
g Almacenar una sola línea nueva
m Avanza el puntero una sola línea
p Imprime la línea donde se encuentra el puntero

De esta manera, sesión típica implica recibir el prompt de comandos > donde introducimos la orden g* (“almacenar líneas indefinidiamente”), y presionar la tecla Intro para empezar a escribir. Su prompt cambiará al de inserción texto en forma de :. y podremos mecanografiar el párrafo deseado. Al concluirlo debemos presiona la tecla Intro para almacenar dicha línea en memoria. 

Conforme hayamos finalizado la inserción de la(s) línea(s) de texto deseadas podremos detener el modo de inserción ingresando el comando : que nos devolverá al prompt de comandos >

Estos cambios realizados al fichero de origen podremos guardarlos en el fichero destino desde el prompt de comandos > (y cerrar el editor), si introducimos el comando %c.

Naturalmente, podremos continuar agregando líneas indefinidamente hasta agotar el almacén, o introducir alguno de estos comandos especiales de Ecce:

%a Descarta la edición realizada.
%c Guarda los cambios y cierra.
%v Imprime la versión de Ecce.

Pues bien señores, si bien este funcionamiento parecería similar al de una antigua máquina de escribir, contaremos con grandes ventajas con respecto a estas. Para movernos en el texto, podremos desplazar la posición actual de edición en el documento (llamada “puntero”). Al llegar al fin del documento recibiremos como indicación el mensaje *** FIN ***.Los comandos de desplazamiento son sencillos:

m Baja el puntero una línea
m- Sube el puntero una línea
k Borra la línea actual del puntero
k- Borra la línea anterior del puntero
r Se mueve a la derecha un carácter en la línea actual
l Se mueve a la izquierda un carácter en la línea actual
e Borra un carácter en la línea actual

Junto a estos comandos básicos de una sola letra, Ecce dispone ciertamente de la posibilidad de realizar tareas más complejas y avanzadas que permiten un mayor control. Estas funciones avanzadas inspirarían luego al editor de cadenas sed.

En primer lugar y como regla general, si introducimos un número n junto a nuestro comando, se lo ejecutará en bucle una n cantidad de veces. Por ejemplo:

p23 Imprime las 23 líneas siguientes al puntero
m10 Sube el puntero diez líneas
g5 Deja 5 líneas de texto en blanco debajo del puntero

De esta manera es posible extender o bien invertir el orden del comando antecediendo al número n con un signo -. Por ejemplo:

p* Imprime todo hasta el final del texto
p-23 Imprime las 23 líneas anteriores al puntero
p-* Imprime todo hasta el inicio del texto
m-10 Retrocede el puntero diez líneas
m-* Retrocede el puntero todas las líneas (vuelve al inicio del texto)

Una de las funcionalidades más utilizadas es la de buscar y reemplazar.

i/texto/ Inserta una cadena “texto” aquí en la línea.
f/texto/ Busca “texto” indicado.

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

Además, las órdenes pueden encadenarse. Por ejemplo:

m23 f/texto/ p3

Los comandos avanzados de Ecce permiten incluso mayor potencia de trabajo:

A Ajusta el largo
B Divide la línea en dos en el puntero
C Cambia mayúsculas con Mayúsculas derecha
C- Cambia a minúsculas con Mayúsculas izquierda
D/texto Borra primer ocasión de texto
D-/texto Borra iteración previa de texto
E Borra carácter a la derecha del puntero
E- Borra carácter a la izquierda del puntero
G/texto Inserta línea de texto luego del puntero
G- Sube una línea
I/texto Inserta texto a la derecha del puntero
I- Inserta texto a la izquierda del puntero
J Une la siguiente línea
O/texto Sobreescribe la línea con la cadena texto

Los comandos compuestos de Ecce son secuencias de comandos cerrados entre paréntesis. Pueden repetirse en bucle, tanto condicional como incondicional. Los ejemplos suelen aclararlo todo, como decía Napoleón:

Operación Ejemplo Significado/efecto
0 o *
Repetición indefinida (“repite hasta no poder cumplir mas”)

r0 Mueve el puntero al final de la línea

(mr)0 Busca la primer línea en blanco

e-0 Borra hacia atrás hasta el comienzo de la línea
?
Ejecución opcional (se ignora la condición de falla)

((r61p)?m)0 Imprime las líneas con no más de 60 caracteres
,
Ejecución alterna (“si el primer intento falla, ejecuta el siguiente, etc”)

(r81lb,m)0 Divide las líneas que tienen más de 80 caracteres

(f/River/(v/Bocado/,e5i/Boca/))* “Reemplaza River con Boca excepto para Bocado
\
Falla invertida

(mv'+'\)0 Busca la siguiente línea que comienza con `+

Si sólo introducimos un número en la línea de comandos, Ecce repetirá el comando indicado anteriormente una n cantidad de veces.

Podremos delimitar patrones por cualquier carácter excepto letras, dígitos, y aquellos que tienen significación definida. Podremos usar: , /, $, >, +, ., :, = y _

Asimismo, podremos ver el antiguo manual de Ecce.

EdLin

A la vez que Ecce contaba con plétora de adeptos universitarios, su decante a las terminales teletipo en boga durante su desarrollo lo hizo verse progresivamente superado con la aparición de las la edición visual de textos en pantalla. Sin embargo los editores modales aún contaban con cierta valía si se hablaba de equipamiento de escasa potencia, y esto era válido con la IBM PC de primera factura y su sistema operativo, el DOS. En sus inicios se decidió adornarlo con un editor orientado a líneas descaradamente influido por el editor Ed del Unix: EdLin

A pesar de que podría parecer de escasa valía, este ha sido implementado de manera libre por el Proyecto FreeDOS, y a caballo regalado no se le mira el diente. Por tanto podremos instalarnos una copia para nuestro sistema GNU, acudiendo a la terminal:

cd /tmp/
wget https://sourceforge.net/projects/freedos-edlin/files/freedos-edlin/2.24/edlin-2.24.tar.gz ;
tar xvzf edlin-2.24.tar.gz ;
cd /tmp/edlin-2.24/ ;
./configure;
make;
sudo make install

Una vez instalado en nuestro GNU, la ejecución del programa es sumamente sencilla:

edlin

Edlin nos presentará su pantalla inicial y nos hará la veña aguardando órdenes. Como tal sigue premisas algo similares a otros editores nodales:

  • Prompt de su Modo de Comandos: *
  • Prompt de su Modo de Inserción: :

Por convención EdLin opera con bloques de sólo 11 líneas. Para facilitar la explicación, usaremos entre nosotros las siguientes convenciones para operar en su modo de comandos:

  • Los corchetes [] denotarán parámetros opcionales.
  •  La n nos 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.
n Representa al número de línea justo antes de la última línea del fichero.
. (“punto”) Representa la línea actual en el fichero.
$ (“peso”) Representa la línea final del 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 'texto' o bien en comillas "texto", 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
\xXX Valor Hexadecimal, donde cada X es un dígito hexadecimal (de 0 a F, tanto en mayúsculas como minúsculas)
\dNNN Valor decimal, donde cada N es un dígito decimal (de 0 a 9)
\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).

Pues bien señores, al igual que Ecce, el funcionamiento básico de EdLin consiste en activar el comando de agregado al almacén, e insertar contenido en el mismo. Para ello, en el prompt * ingresamos el comando a y mecanografiamos las líneas. Para almacenarlas, presionamos la tecla Intro. Para cesar el modo del inserción, en este caso debemos ingresar un . aislado.

Para guardar usaríamos w fichero seguido del comando salir, que es q. (O bien podremos usar e fichero, que equivale a "guardar y salir"). Para salir de EdLin sin guardar se usa q, ante lo cual se nos interrogará “Abort edit (Y/N)?”. Deberíamos responder yes.

Las funciones de edición de EdLin implican generalmente pocas variantes. La primera es indicar un número de línea para establecer el puntero, y escribirla de nuevo para reemplazar la línea.

Si en cambio quisiéramos insertar una línea previamente a otra, usaríamos [n]i para ingresar al en el modo inserción, la cual también acepta las secuencias de escape indicadas. Para abandonar el modo de inserción, ingresamos . en una línea aislada (si necesitáramos escribir una línea que sólo contenga un punto literalemnte, deberías indicarlo escapándolo como \.). Tras de abandonar el modo de inserción, la línea posterior al texto insertado se convertirá en la línea actual (a no ser que la inserción se hubiese suspendido al final del almacén, en cuyo caso la última línea del almacén se convertirá en la posición del puntero).

Para borrar una línea debemos utilizar el comando d, el cual también acepta rangos en la forma  de [n][,n]d que borrarían un bloque de líneas consecutivas del almacén. Los parámetros responden a la primer línea y la última línea del bloque a borrar.

Si tuviésemos la necesidad de copiar un rango de líneas, utilizaremos el comando [n],[n],n,[n]c para copiar un rango de líneas consecutivo a otra localización del búfer. En este orden, los parámetros son los siguientes:

  1. La primer línea que quiere copiar (si se omite se usará el puntero) 
  2. La última línea que quiere copiar (si se omite se usará el puntero) 
  3. La línea anterior en la cual desea insertar el bloque de líneas 
  4. La cantidad de veces que copiará el bloque demarcado (si se omite es 1)

(Luego de copiar las líneas, es conveniente usar el comando l (“listar”) para tener una idea de cómo quedaron los números de línea tras la operación).

Para mover un bloque de texto (más conocido como "copiar y pegar"), debemos usar el comando m, y procedemos igual que con el comando copiar anteriormente descripto. En este caso funcionará igual que copiar, sólo que borrará el bloque de su posición original

Si deseamos presentar todas las líneas usamos p, y para presentar un rango de líneas en pantalla, utilizamos [n][,n]p. Es similar al comando l (list) con la excepción que los parámetros por defecto comienzan en el puntero en lugar de hacerlo 11 líneas  posteriores.

Para buscar una cadena texto usamos [n][,n][?]s$ lo que realizará esta operación. 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 respondemos “no”, continuará la búsqueda y si respondemos “yes” la dará por concluida.

Si la búsqueda localiza la subcadena, desplazará el puntero.

En caso de operar con búsqueda y reemplazo debemos utilizar [n][,n][?]r$,$ para reemplazar todas las iteraciones de la primer cadena con la segunda cadena entre las dos líneas especificadas. Si omitimos el primer parámetro, EdLin comenzará reemplazando a partir del puntero. Si en cambio omitimos 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 las iteraciones de texto.

Para insertar un fichero usamos[n]t fichero. Esto Insertará el contenido del fichero antes del puntero. Si omitimos el primer número de línea, se insertará antes de la línea actual del puntero.

Como vemos, los editores modales son simplones, pero permiten ciertas posibilidades efectivas de edición, y constituyen un herramental válido para comprender cómo se realizaba cómputo antes de que el Justicialismo garantizara los derechos de un editor de texto como la gente hasta al más humilde de mis grasitas.

viernes, 21 de abril de 2023

¿Cómo instalo el editor GNU moe en Ubuntu?

Desde el chalet de Puerta de Hierro, Juan Perón expone sobre la necesidad de la unión del Tercer Mundo y expone cómo instalar el editor GNU moe en Ubuntu.

(...)

Hace treinta años, buscando la base filosófica de una doctrina que nos permitiera lanzarnos hacia el destino de alcanzar un bienestar para nuestro Pueblo y la grandeza para nuestra Nación, nosotros afirmamos la necesidad de llegar a una Comunidad Organizada. Siempre he pensado que sólo una Comunidad Organizada puede llevar el país a un destino floreciente y, en consecuencia, aumentar el grado de felicidad de los que la componen.

Vivimos en un mundo que cada día nos está demostrando que vienen circunstancias totalmente nuevas en el futuro inmediato. Confiamos que nuestro desarrollo tecnológico sea lo suficientemente prudente como para no ensayar los mismos males cuyas consecuencias estamos viendo sufrir a los países superdesarrollados. El mundo que viene es un mundo nuevo, y en ese mundo nuevo podrán vivir solamente los hombres que tengan la suficiente sensatez para darse cuenta que somos todos hermanos y que todos debemos luchar por el destino común, sin lo cual podríamos sucumbir todos.

Cuando los imperialismos quieran imponernos cómo habremos de organizarnos dentro de la Tierra, será necesario que en el Tercer Mundo haya una entidad que diga: "Señores, aquí las condiciones que ustedes proponen son de dominación; en cambio, las que nosotros proponemos son de creación hermanada". Entonces, cuando las dos terceras partes del mundo hagan sentir su voz en una entidad organizada, los imperialismos van a entrar en razón. Nadie se ha puesto nunca contra el mundo entero, y éste debe ser el camino que tendremos que seguir.

Por eso sostenemos la necesidad de un sistema de redes informáticas unidas que represente a ese Tercer Mundo que ya está en marcha. No vayan a creer que no está organizándose. Ya se está organizando, comienza a pesar, y pesará cada día más, en la medida que seamos capaces conectarnos y rutear paquetes.

Llevar la unidad de las redes de datos latinoamericanas es comenzar la integración del Continente, en ideas y corazones, y en ese trabajo hay que empeñarse.

Ese futuro no está tan lejano como algunos creen; el Siglo XXI lo tendremos dentro de 25 años y el año 2000, según lo han predicho grandes hombres como Spengler, Stuart Mill, y otros grandes filósofos que estudian estos problemas, será el año de las grandes soluciones o del Window$ 2000.

Las herramientas las tenemos, y si no las tenemos, las compilamos. En los sistemas GNU con Linux conocemos como ciencia cierta la existencia de numerosos editores de texto. De todo hay como en botica, y para todos los gustos.

En este caso me he hecho adepto al GNU moe, un editor cuya funcionalidad principal que lo distingue es la de operar en terminales con codificación ISO-5988-15. Esta es un poco más antigua que la UTF-8 universalizada, pero alcanza para suplirnos de problemas en el caso de utilizar antiguas videoterminales, cosa que hago en ocasiones por sacar provecho a lo viejo y vetusto. No hay que tirar un viejo por la ventana todos los domingos, ¿sabe?

Moe no está disponible en Ubuntu, pero su código fuente elaborado en lenguaje C puede ser fácilmente compilable.

Para ello es necesario descargar el código fuente del programa y luego compilarlo. Esto se puede hacer abriendo una terminal con Ctrl+Alt+t e ingresando el siguiente bloque de comandos de organización:

cd /tmp ;
wget http://download.savannah.gnu.org/releases/moe/moe-1.9.tar.lz ;
tar -xf moe-1.9.tar.lz ;
cd moe-1.9/ ;
./configure ;
make ;
sudo make install

Tras ingresar nuestra contraseña de usuario podremos ejecutar el editor moe con:

moe

Además de las flechas de cursor para desplazamientos (junto con Alt+"diamante de WordStar"), podremos escribir texto con presteza. En principio, moe está pensado especialmente para manejar de forma confiable texto codificado en ISO-8859-15, pero puede operar con texto en UTF-8.

Moe usa las teclas de función, de modo que los comandos mas frecuentes se puedan pulsar con una sola tecla.

Tecla de Función Uso
F1, Ctrl+a Ayuda
F2 Guardar fichero
F3 Cargar
F4 Zoom de ventana
F5 Ventana previa
F6 Ventana siguiente
F7 Deshacer
F8 Rehacer
F9 Copiar Bloque
F10 Menú de Opciones
F11 Menú de buffer
F12 Último visitado

Moe intenta racionalizar el uso de las combinaciones de teclas del teclado: 

  • Utiliza la tecla Alt para comandos inofensivos como los movimientos del cursor.
  • La tecla Control se usa para comandos mas “peligrosos” como copiar bloques de texto, borrar líneas, o salir del programa.
  • La tecla Tab se usa para el autocompletado de nombres de fichero y para mostrar y ocultar el navegador del directorio cuando moe pide un nombre de fichero.

Con Ctrl+os podremos dividir la ventana, y conmutar entre las divisiones de ventanas con F5 y F6, en tanto que Ctrl+or refresca la pantalla del terminal.

Las funcionalidades más útiles responden al uso de los bloques de selecciones.

Selección

Ctrl+Barra espaciadora Comienza/Termina selección
Ctrl+KB Comienzo de selección
Ctrl+KK Final de selección
Ctrl+LC Copiar selección
Ctrl+KM Mover selección
Ctrl+KY Borrar selección
Ctrl+KR Lee selección
Ctrl+KI Indentar selección
Ctrl+KU Desindentar selección
Ctrl+OL Pasa la Selección a minúsculas
Ctrl+UL Pasa la Selección a mayúsculas

 En tanto, las funcionalidades de control de línea son simples:

Ctrl+b Justidica párrafo desde la columna
Ctrl+y Borra la línea
Ctrl+OC Centra la línea

Como nota final, como funcionalidad avanzada, podremos hacer uso de expresiones regulares para editar texto a través de scripts. Asimismo, podremos leer el manual de moe para usos más avanzados de moe.

viernes, 1 de julio de 2022

¿Cómo instalo el editor Micro en Ubuntu?

En un discurso en la localidad de Pergamino, Juan Perón expone sobre como utilizar el editor Micro en Ubuntu.

¡Trabajadores! Regocija mi corazón contemplar este Pueblo abigarrado ante los cambios que nos hemos propuesto dar a la República. Es en favor de los humiles que trabajamos, y en ello hemos puesto todas las herramientas de las que disponemos.

En esto hemos hecho lo mismo que la naturaleza, creciendo de lo pequeño a lo grande en forma de núcleos de acción: ya que es nuclear el micro cosmos y el nuclear el macro cosmos.

En cualquier condición que se cuadre sabremos que tenemos a nuestro lado, una compañera ideal. Para un hacker no debe haber nada mejor que una hackeresa.

De poco sirve una herramienta si no puede servirnos para el ideal final al que todos aspiramos, que es la Liberación del Pueblo y de su Software.

En el caso de los procesadores de texto,  podremos encontrar en Micro un editor que puede salvarnos las castañas.

Se trata de un editor basado para la terminal, que apunta fundamentalmente a convertirse en un sucesor de Nano, pero que a su ver resulte fácil e intuitivo de utilizar. Como tal, puedo recomendarlo ampliamente para quienes, viniendo de un sistema operativo privativo, anhelen incursionar en la Terminal como senda de Liberación. Al conservar gran similitud a los atajos de Window$ (pueden modificarse también), puede servir como navaja suiza para quien requiera escribir cualquier cosa con gran agilidad.

En particular, además de poderse ejecutar en multitud de sistemas y encontrarse espcialmente apto para su manejo remoto a través de enlace seguro SSH, Micro viene un un sólo binario estático, sin dependencias, de modo que se puede descargar y usarse en cualquier sistema remoto, incluso aquellos en los cuales no gozamos permisos para instalar software de manera local.

En el caso de Ubuntu, hacernos con este maravilloso editor es moco de pavo. Simplemente hemos de abrir una terminal con Ctrl+Alt+t e ingresamos el siguiente comando de organización:

sudo apt update
sudo apt install micro wl-clipboard

Nota: En versiones de Ubuntu anteriores a la 20.04LTS debemos utilizar  sudo apt install micro xclip)

Conforme se haya instalado, podremos ejecutarlo en la terminal ingresando simplemente:

micro fichero.txt

Y ya estará listo para usarse. Han de mecanografiar para ingresar texto en la ventana actual (denominada buffer en la jerga) y editar tu documento. Utiliza Ctrl+s para guardar, Ctrl+q para salir.

Dando empleo a Ctrl+flechas del cursor es posible desplazarnos palabra por palabra. Utilizando Alt+Flecha izquierda o Flecha derecha es posible mover el cursor hasta el inicio o el final de la línea. Es posible avanzar o retroceder entre párrafos con Alt+{ o Alt+}. 

Mayúsculas permite seleccionar, Ctrl+a selecciona todo, Ctrl+f activa la búsqueda, Ctrl+z deshace, Ctrl+x corta y Ctrl+c copia, y Ctrl+v pega, respectivamente, muy à la Window$.

Ctrl+e permitirá abrir el modo de comandos. 

Hay muchos que pueden servir, pero los más útiles sin duda respectan a la creación de ventanas.

vsplit Divide ventana verticalmente
hsplit Divide ventana horizontalmente
vsplit fichero.txt Carga fichero.txt en ventana vertical
hsplit fichero.txt Carga fichero.txt en ventana horizontal
set softwrap on Divide el texto    
set scrollbar on Agrega una barra de desplazamiento vertical

Esto nos permite generar un entorno multiventanas si la necesidad nos lleva a ello (la programación, las traducciones, y la elaboración puede requerirlo). Las funciones útiles están constituidas con Ctrl+w para intercambiar de ventana, o Ctrl+r para activar o desactivar los contadores de líneas del documento.

En el podremos ingresar help topic para desplegar el sistema integrado de ayuda. También puedes presionar Ctrl+g para abrir el fichero de ayuda principal.

Puedes adoptar un tema ingresando Ctrl+e para introducir comandos (autocompletables con Tab y dilucidados con tab+tab, además de contar con historial con flecha de cursor arriba/abajo), y probando con algún esquema de color. Por ejemplo, introduce set colorscheme zenburn. Prueba también los esquemas zenburn, gruvbox, dracula, twilight, railcast, bubblegum (esquema claro). Para terminales clásicas a 16 colores puedes optar por simple, solarized, cmc-16, cmc-paper y geany, o bien sus versiones sufijadas con -tc, para terminales true color.

Zenburn:

Gruvbox:

Monokai (por defecto)

En fin, un grato editor que podrá hacer delicias de las compañeras peronistas que caen en los sistemas Unix Públicos...