> People pick up a particular editor not because it's always objectively better, but rather because it was the only available thing they liked at a certain point in time.

I've been programming for I dunno, over twenty years I think. I tried many different editors, tools, IDEs, specialized apps. I kept moving around. Started from Turbo Pascal and Borland tools on DOS, then continued using Borland Tools in Windows. Borland was fucking huge at that time, to the point (and I kid you not) that one of my college mates told me: "dude, I just learned that the first name of Pascal (the mathematician) was Blaise...I thought all this time that his name was Borland... That's how the company got its name, I thought..." I mean, he was not kidding, he seemed genuinely confused.

Later I used Visual Studio (not VSCode). That was some almost absurdly heavy beast. It could die in the midst of compiling a project. The versions were so incompatible, often you couldn't even take a project created in one version of Studio and simply open it in the newer version. And so, often you'd have to have multiple instances of that thing open. Visual Studio had everything, including something called TFS (Team Foundation Server), that had tons of features for project management and some other crap, but for some reason most teams only used arguably the crappiest feature of TFS - the version control. It was quite some stupid shit and made me mad almost daily. When I discovered Git and learned it a bit, I stopped using stupid TFS, but I couldn't convince my team to switch, so I had to use a bridge to push my things to TFS. While I was learning Git, I accidentally stumbled upon Vim, and of course the first time seeing it I simply couldn't figure it out. I cursed out, and found a way to set a different editor as a default one. But shortly after, it made me thinking: "why would Git, such a clever and awesome tool choose to use this weird Vim-thing as a default editor?" I got intrigued and started learning Vim. After a month of hating myself, I suddenly realized that I no longer know how type in my editor like I used to. From that point on, whatever editor or IDE I would use, I invariably used with a vim-plugin. And If the tool didn't have one, I would just refuse using it.

Then followed Sublime, Atom and finally Jetbrains products - WebStorm, Pycharm, RubyMine, IntelliJ Ultimate. I stayed with IntelliJ the longest - around seven years. I explored every single imaginable documented and not so-well documented feature of it. I had a huge poster on my wall of a printed cheatsheet. I discovered, reported, discussed and followed tons of bugs. Funny, sometimes, even now, I still get updates for things I filed back in 2012-2014. I felt like Andrey Vlasovskikh (at that time) maintainer of IdeaVim plugin had become my family. I loved IntelliJ. It was great. It had everything I wanted. If I ever felt the urge of thinking that I wanted something that it didn't have, I convinced myself to want less. For a relatively short period I had to use XCode, and OMG, compared to it, IntelliJ felt like a godsend.

And one day, I took a flight from New York to San Francisco. My next-seat guy opened a laptop and started typing things in Emacs. I just couldn't help it. First, I pretended to be asleep and kept peeking. After forty minutes of that lame game, I simply couldn't hold it anymore and started asking questions. Until that point in my career, I haven't seen anyone coding like that guy - without googling things; without StackOverlfow; without constantly jumping between documentation, terminal console, utility apps, and the editor. It was all in one place. It was clean and strangely ascetic - no toolbars or menu, no icons, no progress bars, no multitude of numbers indicating different things. Another thing that fascinated me was how easily he manipulated window panes using only the keyboard. Clearly, he was "in the zone" - it seemed as if he had zero context switching. That was very different from how I wrote code and most of my colleagues as well. And he wasn't using some esoteric, little-known language. He was writing in Golang. I didn't know it then; still, it wasn't some completely alien thing to me. Yet some things I saw almost mesmerized me.

That flight, though, wasn't enough to inspire me to try Emacs. Soon enough, I forgot about it. Three months later, I made a jump in my career. At my new job, there were a handful of Emacs users. I learned many new things from them (unrelated to Emacs). And that's when I installed Emacs on my machine for the first time. It still would take me another two years to transition. At some point, I realized that I have multiple things - IntelliJ, Vim, Emacs and Sublime (or Atom) open all the time, and I decided that I needed to start making cuts. My first fear was that I woudn't be able to vim as efficiently in Emacs as I used to. I was wrong. My second and major fear was that if I invest myself in learning Emacs, one day I inevitably find something that's not possible in Emacs, but still doable in IntelliJ and I would feel handicapped and would have to give up and move back and feel bitter for wasting my time. And once again, I proved to be wrong.

Today, I cannot imagine doing any meaningful work without Emacs. From time to time I open AndroidStudio or VSCode and try to figure out some basic workflow there, but always move back to Emacs. It is hard to explain what makes Emacs such an irreplaceable tool for me - I'd have to write a book. But I do remember one of the first things that won me over. Search. Emacs has superior search I have not seen in any other tool. It offers too many different ways for searching things - locally, remotely, recursively, partially, contextually, dynamically, etc. With filtering the results and sifting through and editing at the same time.

I dunno, I feel I pick Emacs over and over specifically because it is objectively better. For me. Someone else may have different opinion and their experience may not be the same, but I swear, no other editor or IDE makes me feel content. And not because I have little patience to learn new tools. I do very much like tinkering around my tools. And I do firmly believe that knowing my instrument well is not a part of my job. It is my job.