Ages ago, I fell in love with Vim just because I knew how to quit the editor with :q or :wq and could switch between insert and normal modes. But of course like all “beginner’s luck” tales, this ended badly, exacerbated by the fact that I turned on vim-bindings on the IDE I was using at the time too enthusiastically with no clue of all the different problems that this would have brought along. Mostly because I didnt know over 90% of Vim’s grammar, and muscle memory was all about classic IDE-style shortcuts.
Now, almost two years later, I have repeated half the feat but this time, I went in a little more prepared. I found a great resource that covered the 80% use-case first (while occasionally showing you a glimpse of the 20% use-case as well) and practiced somewhat diligently.
I dont know what constitutes success but I’m now at a comfortable point in using Vim-style actions. But I won’t switch to Vim or Neovim because I’m too tied to VS Code and the plugins there. So I have this plugin that makes Vim out of VS Code so it’s kind of the best of both worlds.
The best bit though is that I’ve gotten a little too used to the efficacy of the Vim grammar of shortcuts (while occasionally shifting to the classic Ctrl/Cmd sequences) that I want to use these bindings in every text-editor interface. And that’s why my Obsidian interface now has Vim-style bindings enabled. Some small misgivings aside, great experience.
If you were a little too obsessive, you might also seek some similar way of navigating between tabs, searching on a page, navigating through history, and so on for your browser. And that’s when you’ll find Vimium.