[VimMotions] is the first real project I had ever [published on github], and it's creation came from hating editing text outside of vim. I hadn't ever worked in javascript before, so this project was entirely new to me. I learned everything from basic event listeners to traversing the DOM.
It was only during this project that I learned about how many different ways the browser takes in text input, whether it's in a content-editable div format, or a textarea, or some kind of Virtual DOM. For the sake of widespread functionality and simplicity I decided to handle both textarea and content-editable div based input. Existing extensions that aimed to provide vim motion functionality only did so for virtual DOM or textarea based input, so I didn't find a lot of documentation regarding dealing with content-editable inputs.
I stopped development on this project a while ago, but occasionally I'll look back on the Chrome Web Store page and see a couple hundred users and think to update it or rebuild it. I have some ideas about injecting keycodes straight into the browser rather than manipulating the text inputs themselves, and I'm certain that's what the Virtual-DOM vim emulators are doing. However, I've realized I might honestly might shove a cactus down my throat before doing that much javascript again, so I wouldn't expect an update anytime soon.