I have a confession. I am an Emacs user. What started as some light hearted experimentation, innocent flirting with the pretense of entertaining other editors, has ended up with a inescapable dependency and obsession. This is a cautionary tale for my fellow experimenters: the distro hoppers, stack switchers, framework flirts, and config tweakers. Before long you will find yourself writing in tongues of Lisp, dreaming about rolling a pure init file, and building a zettelkasten with nothing but Org files and a strong masochistic streak. Heed this warning: recognise when your editor is good enough and stop. Get some actual work done. Lest ye end up like me.
My tale of woe begins when I first started using Vim in the second year of my Bachelor CS degree. We had some courses on Unix and using shells, then were granted access to the Senior Lab with dual-boot machines capapble of running either Ubuntu or Windows. Another priviledge afforded to us was access to a server running Ubuntu that our Senior Lab machines would mount the home directory from. Under these circumstances, it became possible to ssh into the server and work remotely from my university residence room. A taste of remote work back in 2015. I immediately adopted the SSH+Vim workflow.
Vim had a profound impact on me, and I credit its use with my development as a CS person. The modal editing and movement made sense. It tickled a key part of me that is eager and enthusiastic about the potential of computers. It was a confirmation of how things can be designed and done in such a way to bring joy to those that use it. And that the people who made this distributed it openly and voluntarily. I felt a shared a kinship that others also understood how I felt about computers. So for more reasons than the purely practical, Vim was my core editor for everything. I had a small lean vimrc, dabbled in plugins using pathogen, but most of the time it came down to a rather "pure" experience. Then I was introduced into the holy editor war.
By this point, I had switched completely to Arch Linux (btw) with a tiling window manager, and a comfortable working knowledge of Vim. I had seen the light and was rather militant about my principles as many a new convert is wont to do. A Gentoo install was on the cards, and I had begun educating myself on GNU the FSF and other movements in open source. Stallman and Torvalds quickly became my patrons and mentors. It bothered me that Stallman used Emacs and I Vim. Could Emacs really be as great as he made it out to be? We must all bring into question the teachings of the sages lest we become sheep. I tried Emacs and disliked it. The shortcuts were uncomfortable, there was no modal editing, no slick movement. I zealously disregarded Emacs as an editor. Believing its proponents to be delusional and suffering from sunk-cost fallacy. However, my faith was called into question when a friend of mine then introduced me to Spacemacs.
I had discovered Emacs distributions. I used Spacemacs briefly on the recommendation of my friend: just to try it once and see how it feels. Teach your children to say no when their friends suggest they try Emacs. Spacemacs lifted the veil on the holy editor war. It demonstrated that compromise is possible, that Emacs can be evil. In fact, I directly contribute changes in my vimrc to trying to replicate the Spacemacs behaviour with the <SPC> leader key1. Though I quickly returned to Vim, the knowledge of good and evil had been acquired and innocence lost.
I kept occaisionally trying other editors: VSCode, Intellij's offerings, Sublime Text etc. Time and time again finding them lacking my Vim's ergonomics. However, I also began to chafe against Vim and it's limitations. The clunky plugin system, vimscript, and a growing need to look up documentation when I wanted to do something. I had outgrown the basics, and started to face the possibility of diving deep into Vim configuration to get the features I wanted. I did not want to learn vimscript, and I did not want to start writing my own plugins in it as it seemed that these skills would not transfer. Furthermore, I found the internals of Vim rather opaque and difficult to understand. Facing an unpleasant path forward and the potential resentment, I found Doom Emacs.
Doom Emacs styled itself as a "Vim user's Emacs" and I was hooked from the first touch. Once again, I felt the joy. To revel in the potential presented by something designed with care and attention that has stood the test of time. Sane defaults coupled with comprehensive Vim features meant I could ignore the Emacs eccentricities that put me off. My corruption accelerated with the discovery of Org files. Elisp as a configuration language was much more attractive to me than vimscript. I found myself eager to tweak and write custom functions in my config. Each time I found foray a little deeper into the documentation and internals. Learning how a buffer related to a kill-ring and how points and marks worked. One day all the small pieces I had explored clicked into place and I grokked the grand design behind Emacs. Sadly, this also sealed my fate. I was Doom'd2.
As you can see, this is a tragic tale. The innocent student's downfall and transformation into a configuration addicted cretin. I have since explored other editors, with little impact on my habits. Occasionally, I will use Vim for a quick edit and feel a spark of the love that once was only for it to fade as I attempt to call one of my custom Emacs functions. I also try out other editors from time to time, but with the knowledge that I will never abandon Emacs. I really wanted NeoVim to be my ticket in returning to the light, but Lua as a configuration languge is not on the cards for me. Others I have tried include: Lem (an Emacsen in Common Lisp), Helix, and Kakoune. All interesting, but ultimately not worth the jump.
Realistically, I can only see myself diving further into Emacs. My exploration is behind me and it is time to accept my fate and settle down to raise the kids and pay my taxes. In future, I hope to contribute back to the Emacs project—Doom as well—in thanks for the joy it has given me. I also plan to roll my own init.el from scratch when I have a chunk of time. Other than that, I will probably just move on and try to live my life despite this crippling addiction. If you need me, I will be at my keyboard fiddling with Org files and Elisp. And if someone tells you to try Emacs, politely decline and report them to the relevant authorities.
Sorry not sorry.