1

I'm using the VS Code Vim extension, and if I want to move down and I hold j for example it will move down once, pause then continue. Is there a way to make it automatically keep going up without that pause?

I've been digging through the settings and Google all morning and I can't see where I can or if I can changes this.

The closest I found to an answer was this post but it did't really help (I am on windows sadly).

starball
  • 20,030
  • 7
  • 43
  • 238
  • Firstly, `J` will most likely join your lines not scroll. You are looking at the `j` operator right? (I don't use vscode). But don't worry to much about your problem, you will learn better movement operators like `C-d` and `}` – Doktor OSwaldo Mar 27 '23 at 09:00
  • @DoktorOSwaldo yea I meant `j` sorry, I do use `C-d` but it always jumps a bit far that I intend when I want to hold `j`. I only want to use it to go down a handful of lines but spamming `j` is quite annoying and `3j` feels a bit uncomfortable at the moment as I have to mentally count the lines etc. Thanks for the help! –  Mar 27 '23 at 09:06
  • is there a thing like `rnu` in vscode? (edit: yes, there is) that might help. I do not use `3j` often but I use `}` and search for specific stuff. but there is a ton of movement options in vim. `gg` can also be quite fast. There are plugins for indent based movements, code based movements etc. I hope someone with vscode experience can help you a bit better – Doktor OSwaldo Mar 27 '23 at 09:41
  • Awesome, Thanks you this has been a massive help :) –  Mar 27 '23 at 10:11

1 Answers1

1

I don't think this behaviour is controllable by VS Code or any VS Code extension. If I understand correctly, this behaviour is controlled / configured at the Operating System / Desktop Environment level.

  • For Ubuntu: Settings > Accessibility > Repeat Keys > Delay

  • For Windows: Keyboard Properties > Speed > Repeat Delay

  • For macOS: System Settings > Keyboard > Delay Until Repeat

Also note that in Vim, you can make a command execute multiple times by prefixing it with a number. Ex. To do j 42 times, just do 42j. And to jump to line N, do NG (where N is the line number and G is the literal character G).

starball
  • 20,030
  • 7
  • 43
  • 238
  • Thanks Muchly you are right I went into the systems and it fixed it. and yeah I do use `Nj` this was more for say a handful of lines if im bouncing around. @user –  Mar 28 '23 at 07:57