Where it all began
It may be hard to believe, but before I started my internship in 2023, I had never even heard of Emacs or Vim. Now, I find myself slipping into the stereotypical habits of any Emacs or Vim user - telling everyone about it, unprompted, and trying to convince them to make the switch.
Anyway, back to where it all began...
During my internship, I was introduced an extension of Emacs called Spacemacs, and learning it was actually a prerequisite for receiving a job offer. Coming from a background in VS Code, I naturally resisted for the first few months. I thought it was "pointless” and kept asking myself, Why do I need to learn all these keyboard commands and shortcuts when I have a perfectly good mouse?
Little did I know, the real power was yet to be discovered.
The struggle
I opened Spacemacs for the first time thinking "How hard can it be?" Five minutes later, I was trapped in what felt like a programmers escape room. I tried typing, but I am pretty sure if the editor could talk it would have just laughed. I pressed random keys hoping something would happen, suddenly, my text vanished, my cursor teleported, and I think I accidentally sent an email to the moon. I Googled "How to exit Spacemacs" but by the time I had got an answer, I had somehow opened 3 new files, split the screen in half, and entered a mode called "Visual Block" which at the time I was pretty sure was just Emacs mocking me.
This is when I started remote working... partly because of the job, mostly because I didn't want anyone to see me lose a fight to my text editor.
Overcoming the struggle, maybe?
When I started remote work, not only did I have to continue using spacemacs, I was kind of forced to. The VM interface I was using was slow and laggy, so my best option was to remote in via SSH. This meant using a terminal-based editor... and I certainly wasn't going to start using nano as an IDE (no disrespect to nano users, but I like my sanity). Spacemacs also grew a similar frustration for me, it felt slow and restrictive (although in reality I probably just wasn't using it right).
The customisation, the speed and most importantly the ability to no longer see countless Emacs memes in my group chat (although that was short-lived) were revitalising. Neovim felt much more accessible to me - Lua was easier than Lisp, and it felt modern and extendable. Plus, it started instantly, which was a nice change from making a coffee while waiting for my editor to open.
So I went all in...
Watching YouTube videos, customising my config, adding extensions. I slowly grew to love this new way of editing text. My config became my new hobby it 90% working and 110% my personality.
Do I miss VS Code?
Let me preface this with saying I don't think I could ever go back now, or at the very least I would need vim key command extensions. Do I miss anything? Sure! I miss the first class extension support. Admittedly, most things are available for Neovim in the open-source community, but that one click install on VS Code was mighty handy when you just want to get up and running.
But do I miss VS Code as an editor? Well I am no longer on my internship, and I'm currently writing this blog in Neovim... so what does that tell you?
Final thoughts
Switching editors won’t write code for you, but finding one that fits how you think makes writing code feel less like work and more like flow. Neovim clicked for me. Worst case, you learn a few keybinds; best case, your pinky develops superhuman Escape-key accuracy (or you remap it like me).
(Also, if you're reading this and thinking about switching, just remember: the first time you open Neovim, it will feel like you've been dropped into a spaceship cockpit. But give it time, and soon you'll be flying it like a pro… or at least not accidentally emailing the moon.)
As always, have a lovely day 😊.
