Apuntes mientras aprendo sobre software y computadoras.

Computación

Cómo escribir novelas y ensayos utilizando Neovim (casi sin extensiones)

En este nuevo apunte vamos a estar revisando cómo podemos utilizar el editor de textos Neovim para poder escribir novelas y ensayos. Y todo usando la mínima cantidad de plugins.

Ya en la ocasión anterior estuvimos haciendo algo similar con el programa VSCode y VSCodium

El objetivo esta vez es básicamente el mismo: vamos a tomar un programa que se utilizá más bien para escribir código de computadora, y vamos a configurarlo para utilizarlo con la idea de escribir textos largos en prosa.

Y si, no solamente estoy perdiendo el tiempo con esto. También estoy escribiendo más, y voy probando nuevas herramientas. La realidad es que, aunque me gusta LibreOffice Writer, es difícil utilizarlo para organizar proyectos grandes con múltiples archivos.

Por el contrario, Markdown en combinación con un procesador de texto similar a VSCode, Vim o Emacs resulta mucho más eficiente.

Sin dar muchas más vueltas, pasemos directamente a la acción.

Algunos detalles antes de empezar

Iba a escribir un par de secciones sobre cómo instalar Neovim y asuntos similares, pero supongo que si estás leyendo esto ya conocés el programa desde antes.

Y si no conocés el programa, cualquier introducción que pueda hacer en esta entrada va a resultar muy superficial.

En caso de ayuda tengo esta otra apunte: Guía para empezar con el editor VIM (y Neovim) en Linux

Es importante recordar que soy un principiante en todo esto. Al final de la entrada voy a compartir otros recursos mucho mejor planeados que esta sencilla entrada.

Escribir novelas y ensayos en Neovim sin plugins extra

Primero me interesa revisar cómo podemos hacer para escribir textos largos en Neovim sin acceder a extensiones por fuera del programa.

¿Por qué hacer esto? Bueno, creo que se puede conseguir bastante haciendo solo algunos pequeños cambios de configuración.

Agregar un contador de palabras

Lo primero que vamos a necesitar es conocer el número de las palabras de nuestro proyecto.

Después de todo esa es una de las obsesiones de cualquiera que escribe un texto largo ¿cuánto escribí y cuánto me falta para terminar?

Una forma rápida de averiguar esto es utilizando este comando:

:echo wordcount().words

También es posible conocerlo instalando un plugin, o alguna forma de conocer esto en vivo mientras escribimos… pero este comando resuelve el asunto fácil.

Para hacerlo persistente, podemos crear (de ser necesario) y modificar el archivo en el directorio:

~/.config/nvim/lua/statusline.lua

Agregando este código:

– lua/statusline.lua vim.o.statusline = ‘%f %{wordcount().words} palabras’ vim.o.laststatus = 2

Y modificamos nuestra configuración en initu.ua de esta forma:

– init.lua require(‘statusline’)

Con eso vamos a encontrar el contador de palabras directamente en la barra de status, más el nombre del archivo en el que estamos trabajando. Y podemos hacerlo sin necesidad de plugin externo.

Crear un límite en la pantalla

Al escribir en Neovim vamos a notar que el texto ocupa toda la pantalla. Esto crea párrafos muy largos, y es difícil concentrase en oraciones que no están centradas.

Esta configuración, tomada de este sitio, va a ayudarnos a limitarnos a 80 caracteres por linea:

vim.opt.wrap = true vim.opt.textwidth = 80 
vim.opt.formatoptions = “qrn1”
vim.opt.colorcolumn = “85”

Utilizar Markdown en Neovim

Bueno, por suerte la sintaxis de Markdown aparece resaltada desde el vamos, siempre que estemos utilizando un archivo con la extensión correcta.

Esto se puede mejorar de todas manera… aunque todavía no me puse a revisarlo. Por ahora lo uso sin cambios.

Agregar un corrector ortográfico a Neovim

Para esto también es posible agregar un plugin.

Sin embargo una vez más voy a utilizar el corrector ortográfico integrado en el procesador de texto para simplificar las cosas.

Primero creo un archivo .lua, por ejemplo llamado “dict.lua” y le agrego lo siguiente:

vim.api.nvim_exec([[ autocmd BufRead,BufNewFile .md,.mkd setlocal spell!]], false) 
vim.opt.spelllang = {‘es’, ‘en’}

Y acto seguido lo referencio en mi archivo “init.lua”:

require(‘dict’)

Luego al abrir un nuevo Neovim, el programa va a preguntarme si quiero descargar los diccionarios necesarios. En este caso se van a descargar uno en español.

Además de esta forma el corrector solamente va a funcionar en los archivos con extensión “.md2 o”.mkd”. Pero podemos agregar otro tipo de archivos cuándo lo necesitemos.

Pero si quiero puedo utilizar mis propios diccionarios.

Convertir documentos con Pandoc

De momento estoy haciendo la conversión de archivos usando el comando Pandoc directamente desde la terminal Bash en Linux.

Se puede agregar una extensión para esto, pero no es realmente necesario si queremos mantener nuestro propósito de una configuración mínima.

Cómo mejorar la experiencia de escribir textos largos utilizando plugins en Neovim

Previsualizar Markdown en Neovim

Entre las opciones existentes podemos usar el plugin markdown-preview.nvim

Utilizando esta extensión conseguimos que nuestro documento en markdown se vea renderizado en una pestaña del navegador.

Cómo escribir guiones cinematográficos desde Neovim

Tenemos soporte para el lenguaje Fountain utilizando este plugin

Conclusión

Con esto cierro el texto sobre cómo escribir novelas y ensayos utilizando Neovim.

Por supuesto voy a seguir actualizando esta entrada según voy modificando mi forma de utilizar este procesador de texto.

El principal problema es el siguiente: al ser tan personalizable el programa, es muy sencillo pasar mucho tiempo buscando configurar hasta el último detalle. Y al pasar mucho tiempo en eso, pasamos poco tiempo usando el programa para escribir.

Sin embargo me gustaría leer tus comentarios y opiniones de este material. Si utilizás Neovim, también me gustaría conocer un poco sobre los plugins que utilizás.

La seguimos en el próximo apunte.

Recursos:

– Guía oficial de Neovim

Leave a Reply