-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add neovim integration #1724
Comments
I've thought about this a decent amount, and the issue is tricky. Conceptually, using neovim as the backend is appealing to me as a programmer. It seems like the "right" way to do it. However, there's a couple reasons why neovim integration didn't happen/ roadblocks to doing it in the future.
In addition, ActualVim has the advantage of having an already existing python interface for interacting with neovim: https://github.com/neovim/python-client Don't get me wrong, ActualVim is great, and the work:results ratio is far better than this plugin's. If I was starting today, I would probably use neovim rather than try to replicate the work we've done. However, fundamentally, it seems difficult to integrate a lot of the vscode specific stuff. As the primary vim plugin for vscode (which means that this plugin's quality is a large adoption blocker for vscode), it's preferable to choose the route that enables more features. Even if the issues I mentioned above with ActualVim are surmountable, it's risky to put all that effort in only to realize that crucial feature is impossible.
That being said, trying to add neovim integration is still a long term goal of mine. There are a couple places neovim integration could add substantial amounts of new functionality without interfering with what's already implemented. Namely, Ex-commands. Here's some links to discussions from other vim plugin writers about neovim integration: VsVim/VsVim#1899 |
We even have our own old discussion about NeoVim: #18 I think the "rewrite it in rust" comparison is incredibly accurate here. |
Thank you for the detailed reply! As much as I'd like to see it, your points make sense for now. What do you think about pointing to an existing .vimrc inside of VSCodeVim and "translate" the vim native commands to VSCodeVim settings, to make it easier for new users to get started with their hotkeys, key delay, relative line numbers etc? I'm thinking about a solution similar to the one ideaVim uses. |
@fasoh It's fairly difficult to do that, although it certainly is a long term goal. Parsing the .vimrc isn't trivial, and for the amount of work needed, we won't be getting that much out of it. A lot of vim commands don't have an equivalent in vscode, scrolloff and virtualedit for example. However, it certainly does make the transition easier, and it's definitely something I want to attempt over the summer. |
I've gotten a proof of concept working here! #1725 It should support all text-editing Ex commands. |
That looks really promising, count me excited! |
I'm gonna close this issue in favor of #1735. |
@Chillee I've pulled your feedback into an issue on actualvim. All of these are addressable and will be addressed: https://github.com/lunixbochs/ActualVim/issues/106 |
The VSCodeVim team prioritizes issues based on reaction count.
FEATURE REQUEST:
I'd love to see a Neovim integration in VSCode in order to use my native and more stable vim commands and only having to set up a single .vimrc file. Some other editors are already supported, and the plugin UI architecture explains how to implement it into a GUI. Is there any chance of this happening?
The text was updated successfully, but these errors were encountered: