Me voy al lado oscuro: migrando de Emacs a Vim
Hace unos cuantos días he decidido mudar desde Emacs a Vim, motivado por el deseo de probar algo nuevo y, quizá más consistente con mi forma de trabajar.
Últimamente he estado migrando cada vez más a aplicaciones basadas en terminal, como newsboat, sc-im, lf, y mi propia colección de scripts, y me he estado acostumbrando a usar la línea de comandos cada vez más. En consecuencia de esto, he buscado soluciones fuera de Emacs, al grado que Emacs solo funcionaba para mi como un editor de texto, que si bien no tiene nada de malo, en cierta forma siento que estaba desperdiciando una gran herramienta.
Si bien, todo es posible en Emacs, siento que la forma “correcta” de solucionar mis problemas en “la forma Emacs” no es mediante shell scripts y aplicaciones en terminal, mas el uso de paquetes de Emacs y bloques de código en lisp. He probado algunas de las más famosas herramientas de Emacs, como dired, elfeed o mu4e, y aunque muy buenas, su configuración y su uso requiere largos bloques de código para que funcione como quiero, cosa que varias de las aplicaciones TUI que estoy usando ahora no necesita.
En cuanto al movimiento en Vim, es algo a lo que ya estoy acostumbrado, gracias al uso de evil-mode y las muchas aplicaciones que lo usan como zathura o el mismo bspwm, por lo que hjkl y “:wq” no me causan ningún conflicto, al contrario, me siento bastante cómodo con estos atajos de teclado.
Para terminar debo decir que he intentado migrar algunas de las funciones que en realidad usaba en Emacs a Vim. A continuación numero como me ha ido hasta ahora.
- Magit: Quizá uno de los pocos paquetes de Emacs que usaba constantemente, la solución, simplemente usar git en la terminal como se supone que lo haga.
- YASnippet: Solo necesito dos snippets, y los “snippets engines” en Vim son muchos y parecen más complicados que YASnippet, sin embargo, un acercamiento (que no he probado aún) es simplemente crear mis snippets en un archivo de texto y añadirlos en Vim con un comando de teclado usando
read
. - Spellcheck: Para la ortografía, está disponible en Vim agregando
:set spell
a miinit.vim
. - Org-mode: La herramienta más importante para mi, dado que es mi procesador de texto, mi hoja de cálculo, mi formato para notas y gran parte de mi trabajo depende de org-mode. En fin, la única función que no uso es, irónicamente, la agenda y todo lo relacionado con la organización del día. Actualmente lo reemplazo con Markdown y Pandoc, que hasta ahora, y con la ayuda de plugins gabrielelana/vim-markdown, estoy reemplazando. Esta es la primera entrada del blog, de hecho, escrita en markdown desde el inicio y no org-mode y exportado a markdown.
Una nueva experiencia
Vim, ahora como mi editor de texto principal, está siendo una nueva experiencia. Más sencillo en ciertas cosas, más complicado en otras, está forzándome a usar mi computadora de una nueva forma, desde formatos de archivo (de org a markdown) a una nueva forma de abrir archivos (en Emacs, abusaba de los buffers, y gracias a emacsclient
, me era fácil salir sin guardar los cambios), pero el cambio ha sido positivo hasta ahora. Veamos como me va con el combo markdown/pandoc y si logra reemplazar a org-mode, ya que es una necesidad que me obligaría a regresar a Emacs.