TEXTO-PLANO ===================================================================== Revista digital 04 | 01 --------------------------------------------------------------------- 01 | La potencia del texto plano: Org Mode ~ffuentes --------------------------------------------------------------------- El texto plano es más potente de lo que podríamos imaginar. No solo nos permite escribir ideas como esta, también nos permite trabajar activamente y ser más productivos. De hecho, el texto plano es una herramienta bastante potente, sencilla, liviana y clara para realizar tareas cotidianas. Les voy a contar mi experiencia con Emacs y su Org Mode. ## Org Mode GNU Emacs es un potente editor de textos cargado de funcionalidades, se puede utilizar en un entorno de ventanas o directo en la terminal sin cambiar su forma de uso. Tiene distintos modos de uso y el tutorial inicial es muy sencillo para aprender a utilizar sus interminables pero prácticos atajos de teclado. Org Mode es un modo más de uso de Emacs que se activa al guardar un archivo como .org y está diseñado (sorpresa) para organizar tareas, mantener una agenda, etc. Está compuesto de un lenguaje de marcado (una sintaxis específica) y funcionalidades que permiten manipular los items creados con ella. En las ediciones modernas de Emacs, el org-mode viene instalado por defecto, solo tenemos que activarlo. La estructura de un elemento de org sería como sigue: * Titulo de la nota :etiqueta1:etiqueta2: Texto de la nota --- ## Creando tareas Si quiero crear una lista de tareas puedo hacerlo de esta forma: * TODO Tarea de ejemplo [0/3] :trabajo:proyecto: ** TODO Subtarea 1 ** TODO Subtarea 2 ** TODO Subtarea 3 Texto u observación de las tareas La sintaxis del contador de tareas permite contabilizar el avance de la tarea principal por medio del avance de las subtareas asociadas. La palabra TODO en este caso indica que es una tarea que está pendiente (literalmente: por hacer). DONE sería lo contrario, así indicamos que la tarea está realizada. Esto es automatizable, es decir, que Emacs Org Mode nos ayudará a contar el avance de las tareas a medida que los TODO, en vez de escribir manualmente DONE, escribimos Ctrl - C, Ctrl-t. Si escribimos esa misma secuencia en una subtarea, además el contador de avance (que también puede ser un porcentaje), se actualizará automáticamente. --- Si queremos crear una tarea con fecha de entrega o bien de programación utilizamos la siguiente sintaxis: * TODO Tarea de ejemplo :proyecto: SCHEDULED: <2025-10-10 Fri 16:00> Texto de la tarea --- Tampoco necesitamos digitar todo manualmente, basta con escribir Ctrl - C, Ctrl - S para darle una fecha de programación a una tarea. Si queremos poner una fecha de finalización, lo podemos hacer con Ctrl - C, Ctrl - D que crearía un "DEADLINE". Por lo tanto, no necesitas saber exactamente cómo escribir la fecha (qué día de la semana es el 2025-10-10), pero aunque automatizado, la fecha y hora son transparentes para ti. Con mayús - flecha te puedes mover por el calendario. La fecha de DEADLINE también nos puede servir para agendar citas o eventos. ## Org Agenda Org Agenda tiene un modo que nos permite ver el calendario con las tareas pendientes que tengamos, esto se obtendrá con: Meta (Alt) - x, org-agenda Una vez aquí veremos un mini búfer en la parte inferior con una serie de opciones. La primera con la letra "a" nos permite ingresar a la agenda. Si nuestras tareas están guardadas y agendadas, las veremos en el calendario. Ojo, si no aparece nada, org-agenda probablemente no sabe dónde están tus archivos .org. Debes configurarlo dentro de tu carpeta ~/.emacs.d/ (por ejemplo, init.el) y colocar en el archivo: (setq org-agenda-files (list "~/org/")) Guardamos y luego Alt - x, eval-buffer para que se carguen los cambios. --- De este modo podemos comprobar que podemos manejar nuestras tareas de una forma muy eficiente. Ahora viene una pregunta que algunos pueden tener, en especial aquellos que como yo, no utilizan el mismo dispositivo todo el tiempo o utilizan su teléfono móvil. Podemos sincronizar nuestro/s archivo/s .org en una carpeta y compartirla con nuestro teléfono, para así sincronizar nuestro sistema. Podemos utilizar Nextcloud e instalar una aplicación llamada Orgzly, que puede manipular los archivos de la agenda. Es de esta manera que org-agenda y org-todo son herramientas realmente prácticas. Una ventaja de Orgzly es que utiliza las notificaciones del móvil para avisarnos de que una tarea va a comenzar o llega la fecha de terminar la misma. ## Otro tipo de usos para Org Mode Un uso alternativo de Org Mode es crear presentaciones. La misma sintaxis jerárquicas pero utilizando módulos como org-tree-slide. Para un día del software libre hice una presentación con este modo: ### ¿Cómo instalar? Se descarga el repositorio de https://github.com/takaxp/org-tree-slide y luego se deja en la carpeta de carga de emacs, ej. ~.emacs.d/ y después se activa con: (require 'org-tree-slide) En tu archivo de carga. Por ejemplo, .emacs o ~/.emacs.d/init.el (En emacs hay varios métodos de instalación de paquetes, este es sólo un ejemplo) También se recomienda agregar a este archivo un atajo de teclado para que f9 y f10 sirvan para avanzar y retroceder en la presentación: (with-eval-after-load "org-tree-slide" (define-key org-tree-slide-mode-map (kbd "") \\ 'org-tree-slide-move-previous-tree) (define-key org-tree-slide-mode-map (kbd "") \\ 'org-tree-slide-move-next-tree) ) ### Sintaxis de una presentación con org mode #+TITLE:Título #+AUTHOR:ffuentes #+EMAIL:ffuentes@slibre.org * Título 1 ** Subtítulo 1 + Punto 1 + Punto 2 + Punto 3 ** Subtítulo 2 + Punto 1 + Punto 2 *** Subtítulo 3er orden 1 Texto *** Subtítulo 3er orden 2 Más texto --- Una vez que hemos hecho esto podemos guardarla como presentacion.org y ejecutar: Alt - x, org-tree-slide-mode Esto activa el modo de presentación y con f10 podemos avanzar por las diapositivas. Nota, es posible añadir imágenes a las presentaciones, utilizando la sintaxis: #+ATTR_HTML:width 100 [[file:images/imagen.png]] Arriba el atributo de ejemplo indica el ancho (width) que debe tener la imagen. No es obligatorio poner la primera línea pero Emacs desplegará la imagen tal como viene y si es muy grande, no se verá bien en nuestra presentación. El enlace a la imagen es importante que vaya sin descripción. Para desplegar la imagen necesitamos activar el comando org-toggle-inline-images para que las imágenes se muestren durante la presentación. ## Conclusión Podemos manejar nuestra lista de tareas, nuestra agenda y crear presentaciones a través de emacs org mode (tiene más funcionalidades que quizás veamos más adelante). Todo utilizando únicamente texto plano y un editor potente. En la red hay infinidad de tutoriales, el problema es que no siempre son para iniciados pero puedes partir por el tutorial de emacs y el manual de org mode. https://orgmode.org/manual/ (en inglés) ~tano publicó en su web de texto-plano su traducción del manual de Emacs https://texto-plano.xyz/~tano/archivos-gendoc/00_Emacs.html ---------------------------------------------------------------------