code-server: Easymotion does not work in the Vim plugin under Code-Server
- Web Browser: Chrome
- Local OS: Windows or ChromeOS
- Remote OS: Ubuntu 16.04
- Remote Architecture: x86_64
code-server --version: 3.9.3 fe2dc2deb08e378069891b622bb62ad1d261d1b1
Steps to Reproduce
- Install the VSCodeVim extension.
- Edit settings.json by copying over the quick example from the VSCodeVim page.
- Enter the easymotion shortcut (
<space><space>w)
Expected
The plug-in should highlight first letters of the various words in the text to jump to. This is what happens if the same sequence of actions is performed on the vanilla VSCode (even with --extensions-dir=.local/share/code-server/extensions).
Actual
The cursor is moved one word forward (as if just w was pressed)
Notes
I do not see any errors in the browser console (and the server-side logs are probably irrelevant is vscodevim is a purely front-end extension). For starters it would be nice to check whether the issue is reproducible by someone else.
This issue can be reproduced in VS Code: No
About this issue
- Original URL
- State: open
- Created 3 years ago
- Reactions: 1
- Comments: 16 (5 by maintainers)
possibly related https://github.com/VSCodeVim/Vim/issues/7238
code server used to install extensions on the server side, but after some version (4.x?) vim is installed to the browser. Vim plugins won’t work anymore due to the issue above, not sure if it’s intentional. I sent a PR about 2 weeks ago and this issue has been there longer but neither got any attention yet
I’m running into this too on code-server v4.4.0. I’ve tried both installing the extension locally and via
code-server --install-extension– in both cases, the EasyMotion mode does not activate.I haven’t got much response from vscodevim members in my PR whether it will be merged or not, but someone left a comment there that they were able to build and install the custom vscodevim extension with the fix https://github.com/VSCodeVim/Vim/pull/7728#issuecomment-1605889568
if you run into this issue you can probably do the same or just install their build (at your own discretion)
I found that if the extension is installed via
code-server --install-extension, then it works, however if it is installed via the marketplace UI (which makes it get installed as a “browser extension”), then it doesn’t work.Huh, strangely enough I’m able to reproduce. Running Firefox on Linux.
Hm, that’s strange.
By now I tried installing code-server in three different servers (2x Ubungu, 1x Chromebook Crostini), and tested several clients (2x Windows, ChromeOS). I tried both SSH-forwarding as well as a server with a proper DNS. I only used the Vim plugin on the code-server side and disabled all browser extensions (also tried with a guest account and incognito mode) and I can’t get the behaviour you observe.
I do see that the
<leader>key is detected correctly, no matter what setting I use - this is visible by the status bar indication (which shows<leader>when you press it). I can also use the remapping of the<leader>dsequence to act asdd(i.e. delete a line) and this works. I can even configure a remapping for<leader><leader>wto something else and it also works, yet it does not activate the Easymotion mode as it should (and, to reiterate, the same actions in vanilla VSCode works fine).How do I debug this? Could I access the internals of the plugin from the Dev console somehow? Maybe there’s a window.* variable exposed or breakpoint I could set somehow somewhere to understand what happens?
Perhaps those questions are better asked in VSCodeVim’s repository, but maybe you have good ideas.