So essentially, I think vim-mode in atom actually uses NeoVim's headless VIM engine, which is why it's more full featured. But don't quote me on that :)
The ideal VIM mode plugin for VS Code would do the same.
The ideal VIM mode plugin for VS Code would do the same.
I've thought about doing a vim implementation for years where motions are expressed as composable functions projecting from text range to text range with commands taking a list of text ranges, mostly because I'd like to whether non-text based motions (e.g. AST based or generalized cursors) would work. I like VSCode and expect to move over to it so I've thought about starting my project but the scope of doing a good implementation is daunting.
Congrats on the 1.0 release, VSCode is a great product.