Fix VSCodeVim Arrow Key Motion in Cursor on macOS

Jérôme HoarauJérôme Hoarau
2 min read

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 j to scroll down

  • Repeating l to move forward

  • Even arrow key presses inside Insert mode

...don’t behave like they should in Vim.

✅ The Fix: Enable Key Repeat for Cursor

  1. Find Cursor's app ID (already known for most versions):
osascript -e 'id of app "Cursor"'

You should see:

com.todesktop.230313mzl4w4u92
  1. Enable key repeat just for Cursor:
defaults write com.todesktop.230313mzl4w4u92 ApplePressAndHoldEnabled -bool false
  1. (Optional) If you previously disabled key repeat globally and want to clean that up:
defaults delete -g ApplePressAndHoldEnabled
  1. 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 hjkl

  • Hold down keys for continuous motion

  • Enjoy a proper Vim setup inside Cursor on macOS

0
Subscribe to my newsletter

Read articles from Jérôme Hoarau directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Jérôme Hoarau
Jérôme Hoarau

Cloud Enthusiast