
Entorno Emacs del autor © Theena Kumaragurunathan
Mi próxima novela es una historia de ciencia ficción ambientada 500 años en el futuro, protagonizada por un ser artificial sensible: piense en un HAL 9000 con una brújula moral que funcione, o en Skynet sin el nihilismo genocida.
Los usuarios interactúan con esta IA inteligente de diversas maneras: los usuarios no técnicos interactúan mediante comandos de voz y el tacto, pero los usuarios más expertos en tecnología interactúan a través de interfaces cerebro-computadora (BCI) que admiten el control táctil y visual. Un pequeño porcentaje de usuarios todavía usa teclados, pero la gente piensa en ellos de la misma manera que pensamos en las máquinas de escribir de nuestra era actual: un artefacto pintoresco de una época pasada.
He estado escribiendo esta novela desde 2013 y una de las partes más difíciles de escribirla fue imaginar este BCI. Tenía que ser futurista pero aún arraigado en la tecnología, no en la magia. Me imagino que esta BCI para la IA será maleable de una manera que el software actual no suele serlo. Lo imagino programable y vendría con algún tipo de lenguaje de programación que permitiría al usuario continuar perfeccionando el BCI.
Por supuesto, cuando comencé a escribir esta novela en 2013, estaba escribiendo en un procesador de textos como la mayoría de mis contemporáneos. Eso no cambiará hasta que llegue la pandemia en 2020.
Vim en tiempos de COVID-19
Ya escribí sobre mi viaje pandémico con Vim. Llamarlo capricho no le hace ningún favor a Vim/Neovim: entre principios de 2020 y 2023, Vim (y más tarde Neovim) me convencieron de dejar los procesadores de texto (y los formatos propietarios) para siempre.
Durante este tiempo, moví todos mis escritos de formatos de archivo *.doc a *.md y eventualmente a *.tex; Moví mis notas de investigación (en archivos *.txt accesibles a través del Bloc de notas de Windows) a *.org; Durante este tiempo, presenté mi flujo de trabajo tres veces en la conferencia anual de Neovim, cubriendo temas no relacionados con la programación, como escribir, editar y construir mundos en Vim a la velocidad del pensamiento, y Vimkipedia: o cómo trabajo en Vim, construye mi segundo cerebro.
Durante este período, incluso pasé un año desarrollando un entorno de escritura integrado (IWE) basado en el marco Lazyvim de Neovim, al que llamé OVIWrite (como en oh escribimos).
OVIWrite es un proyecto favorito creado con la inocencia de un novato que aprende un oficio; Soy un novelista que dejé la informática hace veinte años porque no sabía codificar y utilicé lenguajes y herramientas de programación para ayudarme a crear las herramientas de escritura que siempre quise. Esto es ridículo y no debería funcionar.
Pero así fue.

El año pasado escribí mis novelas en este IWE. Para mi sorpresa, durante ese período, descubrí que OVIWrite había ganado una base de usuarios: ahora hay casi una docena de usuarios, algunos de los cuales, como yo, son programadores aficionados de diversos orígenes no relacionados con la programación (abogados, filósofos y biólogos se encuentran entre mis usuarios) que lo usan para completar prosa, principalmente escritura académica. Hasta hace seis meses, fusionaba solicitudes de extracción y brindaba soporte técnico por correo electrónico a algunos de estos usuarios.
Fue uno de los desvíos más inesperados y satisfactorios de mi vida: si pudiera retroceder en el tiempo y decirle a mi chico de 20 años que abandonó sus estudios universitarios en ciencias de la computación porque estaba angustiado porque le dijeron que no era lo suficientemente inteligente para ser programador, estaría completamente confundido.
Entonces, ¿por qué le di la espalda a (Neo)Vim y me fui a la tierra de Emacs?
Oh, (deberíamos) escribir, hombre
Por muy divertido que fuera tener a Neovim como una herramienta integral para todas mis necesidades de escritura, tuve que enfrentarme a una creciente comprensión: todos los constantes retoques y soporte técnico (para mí y un pequeño grupo de usuarios) me estaban alejando de escribir y terminar mi novela. Ya sabes lo que dicen, mantén el contenido principal. cosa principal?
Han pasado diez años y sólo se ha completado alrededor del 60% de la novela. Si bien el ecosistema de Vim y Neovim proporciona herramientas para escritores y escritores, la mayoría de ellas son primitivas o requieren modificaciones constantes para que funcionen para mí.
Se necesita tiempo para coordinar entre complementos escritos en Vimscript que no se han actualizado en años, complementos neovim recién creados escritos en Lua, una mezcolanza de administradores de complementos antiguos y nuevos, y configuraciones de LSP en prosa. Estoy seguro de que si fuera un programador adecuado, este no sería el caso, pero no lo soy; La documentación que al programador promedio le tomaría medio día entender me tomó días.
momento de la bombilla
Quizás se pregunte por qué no usé Emacs en primer lugar. Lector, lo probé.
Mientras que las combinaciones de teclas de Vim parecen casi naturales (me molesta que la edición de modos no sea muy conocida fuera de los círculos de programación), las combinaciones de teclas de Emacs son similares a tocar el piano de jazz.
El año pasado todo cambió: tuve varios momentos eureka en Emacs en una semana.
- Con Evil, puedo traer las mejores partes de Vim a Emacs: su edición modal
- Aunque existe Emacs distribución Todos los existentes (Doom Emacs, SpaceMacs) admiten combinaciones de teclas Evil y sus archivos de configuración modular son confusos. Rahul M. Juliato resolvió este problema creando un paquete kickstarer para la migración a Neovim, centrándose en combinaciones de teclas Evil y un único archivo de configuración.
- Me di cuenta de que elisp es más fácil de leer (y escribir) que Lua.
- El temido problema del meñique de Emacs se puede resolver fácilmente utilizando una herramienta de configuración de teclado
El 15 de octubre de 2024 escribí lo siguiente en mi diario personal:
«Creo que finalmente descifré el secreto de Emacs»
De repente, vi Org-mode, Org-Agenda y Org-Roam en todo su esplendor. Intenté replicar mi configuración de OVIWrite en Emacs (solo tomó una hora y todo estaba en funcionamiento) ¡y tiene lectores de PDF y libros electrónicos, así como un navegador integrado!
Emacs ofrece a los escritores un ecosistema extenso que se ha perfeccionado y probado continuamente a lo largo de los años. A diferencia de Vim/Neovim, ya existe una configuración de emacs para escritura pura. El 16 de octubre abrí mi manuscrito (LaTeX) a través de una nueva configuración de Emacs.


un año después
Entiendo por qué Emacs iniciaría un evangelismo tan desnudo. La UX de Emacs es atemporal y oportuna; atemporal porque es la informática personal más personal; oportuno porque, en mi caso, como nuevo converso en la era de la inteligencia artificial, me permite desconectarme del ruido y escribir en paz.
Emacs es tan flexible y único como la mente de sus usuarios.
Esta es una admisión extraña, porque desde fuera, Emacs parece esotérico e impopular. Requiere un cambio de mentalidad, del mismo modo que el jazz requiere una reconfiguración del cerebro del músico.
Pero como el jazz, esto es una ilusión: la necesidad original esconde una verdad simple: Emacs te dice, haz un pequeño cambio para entenderme, y luego podrás pasar el resto de tu vida cambiándome para adaptarme a tus necesidades.
Las novelas engendran vida, la vida engendra novelas
Esto me lleva a mi mundo ficticio BCI.
Esta interfaz de inteligencia artificial divina está fuertemente inspirada en Emacs.
este Emacs neuronales Conserva la experiencia de usuario principal de Emacs tal como la conocemos hoy: es un software extensible, extensible y autodocumentado.
Dado que los teclados son ahora un extraño artefacto de una época pasada, la cultura de este mundo ha reemplazado las combinaciones de teclados y las pulsaciones de teclas con mentalidades o patrones de pensamiento. gestos neuronales: En lugar de presionar Cx Cf para buscar un archivo, el cerebro del personaje activa patrones neuronales para representar gestos. quiero encontrar algolo que genera un minibúfer en la mente del usuario. En esta interfaz neuronal aparecen búsquedas difusas de archivos e incluso sugerencias.
Los anillos de muerte (el portapapeles del sistema para usuarios que no usan emacs) y los registros son muy poderosos: mi personaje mantiene múltiples flujos de pensamientos conscientes en diferentes buffers simultáneamente. The Killing Ring no solo almacena pensamientos; En cambio, se convirtió en un rico depósito de los pensamientos de mis personajes que podían recordar y manipular en cualquier momento.
Mi versión ficticia de elisp, a la que llamo OVIlisp Benefíciate también de este salto evolutivo. Es un lenguaje de programación que manipula directamente patrones de pensamiento: mi personaje no solo puede escribir funciones para transformar texto, sino también dar forma a cómo se capturan y expresan los pensamientos.
La funcionalidad de Emacs Doctor evoluciona hasta convertirse en un terapeuta personal bajo demanda.
El marco de Emacs y Windows se asignan a diferentes áreas de conciencia. Los usuarios pueden dividir el espacio de trabajo mental en áreas dedicadas a diferentes tareas.
El concepto de vínculos de retroceso de Org-Roam se volverá aún más profundo, no solo entre notas, sino entre los propios patrones de pensamiento, lo que dará como resultado lo que se llama un «gráfico de conocimiento neuronal» donde cada nodo no es solo una nota, sino un patrón de pensamiento completo que se puede recordar y revivir. En mi mundo ficticio, el control de versiones de modelos mentales es tan normal como las listas TODO en nuestro mundo.
Esto no es magia.
Esta es una extrapolación de cómo trabajo hoy.
En la Parte 2 de este artículo, recorreré mi flujo de trabajo de Emacs, enfocándome en la tecnología que me permite escribir novelas, notas de investigación, guiones y código en un solo entorno.









