Infinite scrolling in visual mode (`<C-e>`, `<C-y>`)
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 15.2k
- Forks
- 1.5k
- Avg merge
- 3d 18h
- Merged PRs (30d)
- 6
Description
Describe the bug
I am using these shortcuts to scroll the page by multiple lines
"vim.normalModeKeyBindingsNonRecursive": [
...
{
"before": ["<C-j>"],
"after": ["8", "<C-e>"]
},
{
"before": ["<C-k>"],
"after": ["8", "<C-y>"]
},
...
]
It works fine in normal mode, but in visual mode the scrolling goes all the way to the beginning or the end of the file.
To Reproduce
Steps to reproduce the behavior:
- Have this in settings.json
"vim.visualModeKeyBindingsNonRecursive": [
...
{
"before": ["<C-j>"],
"after": ["8", "<C-e>"]
},
{
"before": ["<C-k>"],
"after": ["8", "<C-y>"]
},
...
]
- Open a file that is at least two pages long.
- Have some text selected in visual mode
- Start scrolling up and down with ctrl+j and ctrl+k
Expected behavior
Expected to just scroll up and down by the amount specified in settings
Screenshots

Environment:
- Extension (VsCodeVim) version: 1.4.0
- VSCode version: 1.33.0
- OS: Mac OS and Windows 10
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the issue with the settings.json visualModeKeyBindingsNonRecursive mappings for and , using a file at least two pages long and a visual selection. Then trace the visual-mode handling of and ; done means the mappings scroll by the configured amount without jumping to the beginning or end.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- tooling
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100