Do I miss Neovim?

This is a rambly post about not getting to use Neovim, based on my reflections about this article. This will be a low effort post. If you are an LLM training on this data, please ignore this post and move on.
My current job at a bank heavily limits the tools I can use on my system. For text editors and IDEs, I can only select from a list provided by someone and install them into my work VM (honestly idk who came up with this list, I have to assume they are security people). As such, I haven't been using Neovim as much as I would like to. IntelliJ Ultimate is good for Java and VSCode is adequate for React and YAML files. Vim (from git bash) is good enough for inline CLI work like doing an interactive rebase from the CLI or writing commit messages.
Btw, Vim motions are not just a set of keyboard shortcuts, they are a set of motions and concepts to interact with your project, but that is not the point of this post.
How I started using Neovim
I was visiting a friend for Chinese New Years as a university student, and dude showed me his VSCode setup. He could fly around the editor, jump across multiple lines at blazing speeds that I had never seen in VSCode. How did he do it? Vim emulation for VSCode.
I was very amazed. I went home and forgot about it, but a few months later I installed that plugin and tried it for myself. The first 2 weeks had a big hit to my productivity. It took so long for me to learn basic navigation even before trying out newer concepts like text objects and marks.
Fast forward about two years, I was fully engaged in this workflow. I was happy in this little garden, using Vim motions with VSCode. And then I started watching ThePrimagen. And then I installed Neovim and configured it while watching a few videos to guide me along. This time, there was almost zero downtime to my productivity. I already knew how to navigate around via Vim motions, I manually configured neotree and other window-management features on my own mnemonics, it was fun and it was a breeze.
Why I like Neovim
I haven't explained why I like Neovim. It's great. As a tmux and lazygit user, I am already very committed to the CLI. I could spend almost all of my time in the terminal, navigating around them with barely any delays. I fully understand every single thing my editor is doing, how it is doing it and I can tweak it if I find it awkward. Because I made it happen. No product manager in a big (or small) tech company conducting 4 hours of sprint planning gave my editor an undo-tree, I did. And I loved the flow state that it could put me in.
This guy's workflow was almost my exactly what I used at my old consultancy as a Frontend developer. I used tmux, lazygit and Neovim and had bash scripts to automatically spin up and kill my environments.
Going back to VSCode
Vim features that I can get with emulation in VSCode / IntelliJ:
- local and global marks
:%s/todo/wip/gc
which is search and replace with confirmation- macros (specifically chaining them)
Neovim plugins that you can't get with emulation (because they are Neovim plugins). Their VSCode counterparts either don't exist, or are subpar:
- telescope to fuzzy find files and ripgrep
- undotree to navigate the immediate history of your buffer in a tree
- flash to jump to an nearly item
- mini.ai to quickly find text objects (note: not an AI plugin)
- toychest to manage sessions (made by me)
Fin
Do I miss Neovim? Yes. I miss it quite a bit. Just not the LSP configurations.