KeyNudge

March 15, 2026 ยท View on GitHub

Stop reaching for the mouse. Build keyboard muscle memory, automatically.

KeyNudge watches which VS Code commands you use without their keyboard shortcuts and reminds you gently. The more you skip the shortcut, the louder the nudge. Over time, your hands learn to stay on the keyboard.


How it works

KeyNudge uses two complementary signals:

  • Shortcut interceptors, when you press a keyboard shortcut, KeyNudge counts it
  • VS Code event listeners, when the same action happens any other way (menu, toolbar, mouse), KeyNudge counts that too

Mouse uses = Total uses โˆ’ Shortcut uses

Once your mouse-click count hits the configured threshold, a reminder appears. The Hit List sidebar always shows your top offenders ranked by mouse usage.


Features

  • Automatic reminders, nudged the moment you exceed the threshold for a tracked command
  • Hit List sidebar, ranked list of commands you use most without shortcuts, with flame/warning icons by severity
  • Mac + Windows aware, shows the correct shortcut for your platform automatically
  • Configurable threshold, set how many mouse uses before a nudge fires (default: 3)
  • Status bar or notification, choose where reminders appear
  • Ignore list, exclude commands you don't want tracked
  • Persistent stats, data survives restarts via VS Code's global state

Tracked shortcuts

KeyNudge tracks 24 of the most impactful VS Code shortcuts out of the box:

ActionWindowsMac
Save FileCtrl+SCmd+S
Save AllCtrl+K SCmd+Option+S
Close EditorCtrl+WCmd+W
Quick OpenCtrl+PCmd+P
Command PaletteCtrl+Shift+PCmd+Shift+P
Format DocumentShift+Alt+FShift+Option+F
Go to DefinitionF12F12
Rename SymbolF2F2
Quick FixCtrl+.Cmd+.
Find in FilesCtrl+Shift+FCmd+Shift+F
Toggle TerminalCtrl+`Ctrl+`
Toggle SidebarCtrl+BCmd+B
Undo / RedoCtrl+Z / Ctrl+YCmd+Z / Cmd+Shift+Z
Delete LineCtrl+Shift+KCmd+Shift+K
Toggle CommentCtrl+/Cmd+/
Select All OccurrencesCtrl+Shift+LCmd+Shift+L
Add Next OccurrenceCtrl+DCmd+D
Navigate Back / ForwardAlt+Left / Alt+RightCtrl+- / Ctrl+Shift+-
Go to LineCtrl+GCtrl+G
Copy Line DownShift+Alt+DownShift+Option+Down
Find All ReferencesShift+F12Shift+F12

Settings

SettingTypeDefaultDescription
keynudge.enabledbooleantrueEnable or disable all nudges
keynudge.nudgeThresholdnumber3Mouse uses before first nudge
keynudge.notificationStylestringstatusBarstatusBar, notification, or both
keynudge.ignoredCommandsarray[]Command IDs to never nudge about

Commands

Open the Command Palette (Ctrl+Shift+P) and search for:

  • KeyNudge: Show Hit List, open the shortcut usage sidebar
  • KeyNudge: Reset Statistics, clear all tracked data
  • KeyNudge: Toggle Enable/Disable, quickly pause or resume nudging

The KeyNudge activity bar panel shows your top 25 commands by mouse usage:

  • ๐Ÿ”ฅ Flame icon, used 10+ times without shortcut (high priority)
  • โš ๏ธ Warning icon, used 5โ€“9 times without shortcut
  • โ„น๏ธ Info icon, used 1โ€“4 times without shortcut

Hover any item to see full stats: total uses, shortcut uses, and mouse uses.


Privacy

KeyNudge stores only command IDs and usage counts in VS Code's local global state. No data leaves your machine. No telemetry, no network requests.


Author

Built by 0xvNFT

If KeyNudge saves you time, consider leaving a โญ on the repo, it helps others find it.


License

MIT โ€” see LICENSE