Fix VSCodeVim Arrow Key Motion in Cursor on macOS
If you're using the VSCodeVim extension in Cursor on macOS and notice that arrow key motion or held-down keys (like h, j, k, l) don’t repeat, you're not alone.
This is a common macOS issue due to how key repeat is disabled for some Electron-based apps by default.
Here’s how to fix it.
✅ The Problem
After installing the Vim extension in Cursor, motions like:
Holding down
jto scroll downRepeating
lto move forwardEven arrow key presses inside Insert mode
...don’t behave like they should in Vim.
✅ The Fix: Enable Key Repeat for Cursor
- Find Cursor's app ID (already known for most versions):
osascript -e 'id of app "Cursor"'
You should see:
com.todesktop.230313mzl4w4u92
- Enable key repeat just for Cursor:
defaults write com.todesktop.230313mzl4w4u92 ApplePressAndHoldEnabled -bool false
- (Optional) If you previously disabled key repeat globally and want to clean that up:
defaults delete -g ApplePressAndHoldEnabled
- Restart Cursor for the change to take effect.
💡 Bonus: Why This Matters
macOS’s default behavior favors accent selection when holding a key. That’s useful for typing letters like “é” — but for devs using Vim, it breaks the expected motion behavior.
By targeting the fix to Cursor only, you preserve macOS defaults while enabling a true Vim experience in your editor.
✅ Result
You can now:
Navigate smoothly using
hjklHold down keys for continuous motion
Enjoy a proper Vim setup inside Cursor on macOS



