Edición de texto sin distracciones en Linux.

Después de mucho tiempo volví a la escritura, y aparte de algunas cuestiones, el usar editores de texto sin distracciones me ha ayudado a recuperar el ritmo. ¿Qué programas se pueden usar en Linux para esta cuestión?

Introducción.

En los cinco años que estuve alejado del canal, me di cuenta que existen más editores que Vim. De hecho, dejé de utilizar Vim, y terminé migrando a NeoVim. La gran ventaja de Neovim es la posibilidad de configurarlo con Lua. Y LSP.

Sin embargo, hoy no hablaré de eso.

En algunos de mis últimos vídeos de mi canal, compartí mi experiencia usando Doom Emacs. De inicio, es algo más pesado que Neovim, aunque cuando actualicé mi computadora ya no había una diferencia tan grande.

Tuve una mala experiencia con un archivo que escribí durante días en Doom Emacs. El texto no fue bien recibido, y terminó provocándome un bloqueo creativo, uno de los culpables de mi ausencia en el canal. Si pasan por una situación similar, hablen con alguien. No se sumerjan en la autocondecendencia. Aislarse solo hace más difíciles las cosas.

Durante años fue lo mismo: el cursor se mantenía inmóvil en pantalla. Y pues no había una forma sencilla de vencer la falta de inspiración.

Con tiempo y un poco de disciplina, he logrado recuperar el hábito. Pasé de buffers vacíos a textos que ocuparían 4 páginas en PDF de forma un poco más constante.

No me considero ni de cerca un escritor prolífico. Pero me gusta la escritura como Hobbie. Me he dado cuenta con el paso del tiempo que lo mío no es la prosa, sino los ensayos, críticas y opiniones.

Consejo: nunca permitan que nadie los humille por lo que sea que hayan escrito.

No me gustan los procesadores de texto tradicionales. La obsesión con el formato en tiempo real (WYSIWYG), botones, menús y ajustes terminan convirtiéndose en una gran distracción. Aunque comprendo que para muchas situaciones del día a día, son una solución sumamente práctica y es el estándar para la realización de libros, cuentos, ensayos y trabajos escolares.

Es por eso que prefiero editores de texto sin distracciones, donde el contenido es más importante que la presentación. Además, al ser redactados en texto plano, es fácil regresar versiones anteriores y realizar un seguimiento de los cambios. Se puede crear un repositorio en Git, en el que si hay algún error en una versión posterior, sin problemas podemos regresar a un punto anterior, al igual que hacemos con proyectos de programación.

Veamos algunos programas de edición de texto que utilizo.

Wordgrinder.

Cuando Bryan Lunduke era un personaje que valía la pena seguir, mostró en uno de sus videos un procesador de palabras para la terminal llamado “Wordgrinder”. En aquel entonces, ese programa tenía un formato binario para sus archivos. Y creo que no era el más conveniente de todos, a pesar de una gran variedad de formatos de exportación, que a final de cuentas tenían que ser revisados en un programa externo.

Wordgrinder fue el primer programa de “terminal” que utilicé para escritura propiamente. Y debo de decir que es un muy bonito programa de terminal que permite la edición de texto de manera bastante simple. No se necesitan muchos comandos para poder insertar formato.

Apenas unos años después de que Lunduke lo mostró, Wordgrinder finalmente cambió su formato nativo a uno de texto plano, pero con formato propio.

Permite la exportación a formatos como Markdown, LaTeX y troff (groff), además de ODT. No es un programa altamente configurable, pero funciona muy bien tal y como está.

Si ustedes requieren un procesador de palabras sin distracciones, un poco parecido a lo que George R.R. Martin hace con sus libros (los cuales escribe en WordStar 4.0 en un sistema DOS), Wordgrinder es una buena opción para empezar. Tengo un vídeo hablando de él en mi canal.

Wordgrinder en mi linux mint
Wordgrinder en mi linux mint

Vim/NeoVim

Ahora pasaremos con los editores de texto.

Con el paso del tiempo conocí Vim. En un inicio, solo lo usaba para editar programas en C. Un profesor de mi universidad nos mostró Vi, ni siquiera vim. Y a partir de sufrirlo al inicio, yo le fui adquiriendo algo de cariño. Ahora no podría vivir sin Keybindings (Nota: sí que puedo… pero hablaré de eso un poco más adelante).

Vim es un editor que se puede configurar de muchas maneras, sobre todo en todo lo relacionado a programación y creación de proyectos web.

Lo que vendría a cambiar mi manera de escribir tareas escolares, ensayos o textos es la existencia de Markdown. Un lenguaje de marcado sumamente simple que generalmente se ocupa para documentación de repositorios. Pero al ser un lenguaje de marcado sencillo, permite su exportación a diferentes formatos. Con Pandoc, se puede exportar a formatos sencillos como HTML, más complejos como LaTeX, pdf, e incluso formato odt o docx. Siendo ODT el formato de LibreOffice, y DOCX el de Microsoft Office.

En lo referente a Vim, este cuenta con plugins que facilitan la escritura sin distracciones, siendo el más conocido Goyo. Goyo elimina todos los formatos que se le hayan hecho al editor, elimina números de línea y se puede configurar para eliminar barras de estado.

Esto permite una experiencia semejante a la de Wordgrinder, pero al menos a mí se me facilita un poco más, ya que al usarlo con Markdown formatos como negrita o cursiva se pueden colocar de forma sencilla.

Para mí, esta es la experiencia de escritura definitiva, pero por supuesto que también falta revisión ortográfica y gramatical. Al menos la revisión ortográfica se puede hacer con la descarga del diccionario en español, y existen programas externos que permiten la revisión gramatical.

Neovim con Goyo
Neovim con Goyo

Emacs

Una de las partes más divertidas de los cinco años anteriores es que estuve oscilando entre Vim y Emacs durante un buen rato. Al principio fue con Doom Emacs, el cual es un excelente inicio.

Hace tiempo tuve un suscriptor que me insistía en probar con emacs. Y la verdad es que siempre lo dudé. Ya con los años, entiendo que emacs es un monstruo completamente distinto que Vim. Vim es un editor de texto, que se puede fortalecer lo suficiente como para que haga lo que necesites.

Emacs es una navaja suiza que, aparte de todo, cuenta con un editor de texto. Hay un chiste demasiado rebuscado que dice que Emacs es un excelente sistema operativo que solo le falta un buen editor de texto.

En mi experiencia, la verdad es que tampoco es tan incómodo vivir con los comandos por default que tiene GNU/Emacs. Son los mismos comandos básicos que se utilizan en la terminal bash (salvo que tengas el modo vi).

Sabiendo todo esto, de inicio suena difícil que emacs tenga modos de edición de texto sin distracciones, pero los tiene.

Aunque primero debo de hablar de la “killer feature” de emacs. Aparte de Magit, que es un espléndido sistema de gestión de repositorios. Hablo de org-mode.

Eh... sí. Emacs se ve fácil...

Org-mode.

¿Qué es org-mode? A resumidas cuentas, ya que le hice un video anteriormente, org-mode es un modo que lleva su propio lenguaje de marcado, pero que puede ser capaz de llevar listas de faltantes, tareas por realizar (TODO), y eventos, así como fechas límites.

Mezclado con org-agenda te permite llevar una agenda muy completa solamente editando un archivo de texto.

Org-mode puede ser exportado dentro de emacs a diferentes formatos como LaTeX, markdown, html, odt y docx. Y con pandoc a muchos otros diferentes formatos extra.

Modos sin distracción.

Emacs permite dos distintos tipos de escritura sin distracción:

Olivetti centra la ventana de manera parecida a como lo hace Goyo, pero por default no quita números de línea. La recomendación para eliminarlos es que cuando se activen modos como markdown u org-mode es configurarlos para apagar lo que no requiramos en nuestro editor.

Darkroom directamente desactiva cualquier barra inferior, y coloca el texto en un tamaño de fuente legible. A mi gusto, Goyo y Darkroom son las dos mejores opciones para escribir sin distracción.

Mmm... no se ve tan diferente a Goyo...

¿Cuál es mi recomendación?

Creo que para un usuario que apenas está probando este tipo de programas, wordgrinder le será realmente sencillo de usar y muy cómodo. Si bien sus comandos tampoco parecen intuitivos de inicio, su curva de aprendizaje es mucho menor. Y hay otro detalle con wordgrinder. Se pueden guardar capítulos de un libro dentro de un mismo documento.

Si alguien se decide por Vim, markdown es una excelente opción que se puede complementar con vimwiki, el cual permitirá crear enlaces con otros archivos de texto de una manera dinámica. Aunque seré honesto, y les diré que casi nunca uso esa función. Pero me agrada porque automatiza muchas cosas de markdown.

La opción más completa es emacs. Org-mode es un monstruo de mucho mayor calibre que Markdown. Aparte que Emacs, al ser un GUI, puede configurarse de muchas maneras distintas que pueden enriquecer mucho más la experiencia de escritura. Pero refiriéndome únicamente para usarlo como editor sin distracciones, creo que es un justo empate con Vim/Neovim que solo se definirá del gusto de cada persona por su editor de texto.


Volver al inicio