The VSCodeVim team prioritizes issues based on reaction count.
* Is this a BUG REPORT *:
Environment:
What happened:
put cursor on a function call, the gd to the definition of the function, kk move cursor up two line,
press ctrl-o to go back to the function call
What did you expect to happen:
the cursor goes back to the previous function call
How to reproduce it:
as described above
I think the main problem is that the jump-motions is not correctly handled,
jump-motions
A "jump" is one of the following commands: "'"', "`", "G", "/", "?", "n",
"N", "%", "(", ")", "[[", "]]", "{", "}", ":s", ":tag", "L", "M", "H" and
the commands that start editing a new file. If you make the cursor "jump"
with one of these commands, the position of the cursor before the jump is
remembered. You can return to that position with the "''"' and "``" command,
unless the line containing that position was changed or deleted.
I think that's because we don't really handle jump lists extensively. We merely bind ctrl+o to the vim command workbench.action.navigateBack.
@Chillee so, is there any plane to improve it ?
I've been meaning to take a look at it, but it's not a top priority for me. At least for my use case, the current ctrl+o works well enough most of the time.
@Chillee does it help this issue when Neovim is integrated ?
@haolly Yes neovim integration will solve this issue completely.
@Chillee I just tested on my mac, with neovim integrated, still does not work properly
@haolly it's not merged yet.
https://github.com/VSCodeVim/Vim/pull/1897 is the pr you want to be following.
This is keeping me from using VSCode as well. Without the vim plugin VSCode handles this correctly, it's only when the plugin is enabled that it stops working.
I did some research and I think this is due to this line in VSCode - I think all VSCodeVim actions are interpreted as API actions by VSCode and are put on the history stack. Anyone knows where the actions are dispatched in VSCodeVim and if it's possible to change them to be non-api?
I noticed that this is only an issue for 'j' and 'k', other movements like 'l', 'h', 'w', or 'b' do not affect the jump history. #2461 is the same issue.
Is there any update to this issue? Was about to switch to VS Code, but without jump lists working properly it is unusable...
Guys, any plan for handling this? Really annoying
This is fixed in a branch where I am working on implementing our own proper jump list. See my comments here: https://github.com/VSCodeVim/Vim/issues/1933
I think @shawnaxsom has handled this issue in the PR linked above. Thanks!
Most helpful comment
@haolly Yes neovim integration will solve this issue completely.