How do I change the keyboard shortcuts that Cursor uses?
We hope to build better UI for this in the future. For now,
- Type Command/Ctrl + Shift + P.
- Go to âpreferences: open keyboard shortcutsâ
- Edit the
aipopup.action.modal.generate
action to remap the inline edits / generation keybinding - Edit the
aichat.newchataction
action to remap the new chat command
For future passersby, to fully remove Cursorâs cmd+K mappings, you also need to update cursorai.action.generateInTerminal
Hi! How can I change ai chat send message key? Itâs âEnterâ now, but I want it to be âShift+Enterâ and use âEnterâ to insert a new line.
Is there any way to directly access the data / json that vscode / cursor use for the key mappings instead of having to do this manually? It would also make it easy to put things back if it gets messed up.
Itâs utter madness that such an important keymapping was overwritten.
+1. I am wasting so many chat requests by mistakenly hitting Enter to create a new lineâŚ
You can edit default keybindings.json -
You can also specify overrides for yourself -
VS doesnât have a chat window. How can we change the keyboard shortcut to submit a message in Cursorâs chat window?
C:\Users\<yourUser>\AppData\Roaming\Cursor\User\keybindings.json
// Place your key bindings in this file to override the defaults
[
{
âkeyâ: âctrl+shift+kâ,
âcommandâ: âeditor.action.deleteLinesâ,
âwhenâ: âtextInputFocus && !editorReadonlyâ
},
{
âkeyâ: âctrl+k ctrl+câ,
âcommandâ: âeditor.action.addCommentLineâ,
âwhenâ: âeditorTextFocus && !editorReadonlyâ
},
{
âkeyâ: âctrl+k ctrl+uâ,
âcommandâ: âeditor.action.removeCommentLineâ,
âwhenâ: âeditorTextFocus && !editorReadonlyâ
},
{
âkeyâ: âctrl+k ctrl+/â,
âcommandâ: âeditor.foldAllBlockCommentsâ,
âwhenâ: âeditorTextFocus && foldingEnabledâ
},
{
âkeyâ: âctrl+k ctrl+0â,
âcommandâ: âeditor.foldAllâ,
âwhenâ: âeditorTextFocus && foldingEnabledâ
},
{
âkeyâ: âctrl+k ctrl+jâ,
âcommandâ: âeditor.unfoldAllâ,
âwhenâ: âeditorTextFocus && foldingEnabledâ
},
{
âkeyâ: âctrl+k ctrl+kâ,
âcommandâ: âeditor.action.defineKeybindingâ,
âwhenâ: âeditorTextFocusâ
},
{
âkeyâ: âctrl+k mâ,
âcommandâ: âworkbench.action.editor.changeLanguageModeâ,
âwhenâ: â!notebookEditorFocusedâ
},
{
âkeyâ: âctrl+k pâ,
âcommandâ: âworkbench.action.files.copyPathOfActiveFileâ
},
{
âkeyâ: âctrl+k râ,
âcommandâ: âworkbench.action.files.revealActiveFileInWindowsâ
},
{
âkeyâ: âctrl+k oâ,
âcommandâ: âworkbench.action.files.showOpenedFileInNewWindowâ,
âwhenâ: âemptyWorkspaceSupportâ
},
{
âkeyâ: âctrl+k sâ,
âcommandâ: âworkbench.action.files.saveAllâ
},
{
âkeyâ: âctrl+k ctrl+wâ,
âcommandâ: âworkbench.action.closeAllEditorsâ
},
{
âkeyâ: âctrl+k wâ,
âcommandâ: âworkbench.action.closeEditorsInGroupâ
},
{
âkeyâ: âctrl+k fâ,
âcommandâ: âworkbench.action.closeFolderâ,
âwhenâ: âemptyWorkspaceSupport && workbenchState != âemptyââ
},
{
âkeyâ: âctrl+k ctrl+upâ,
âcommandâ: âworkbench.action.focusAboveGroupâ
},
{
âkeyâ: âctrl+k ctrl+downâ,
âcommandâ: âworkbench.action.focusBelowGroupâ
},
{
âkeyâ: âctrl+k ctrl+leftâ,
âcommandâ: âworkbench.action.focusLeftGroupâ
},
{
âkeyâ: âctrl+k ctrl+rightâ,
âcommandâ: âworkbench.action.focusRightGroupâ
},
{
âkeyâ: âctrl+q câ,
âcommandâ: âeditor.action.addCommentLineâ,
âwhenâ: âeditorTextFocus && !editorReadonlyâ
},
{
âkeyâ: âctrl+q uâ,
âcommandâ: âeditor.action.removeCommentLineâ,
âwhenâ: âeditorTextFocus && !editorReadonlyâ
},
{
âkeyâ: âctrl+q /â,
âcommandâ: âeditor.foldAllBlockCommentsâ,
âwhenâ: âeditorTextFocus && foldingEnabledâ
},
{
âkeyâ: âctrl+q 0â,
âcommandâ: âeditor.foldAllâ,
âwhenâ: âeditorTextFocus && foldingEnabledâ
},
{
âkeyâ: âctrl+q jâ,
âcommandâ: âeditor.unfoldAllâ,
âwhenâ: âeditorTextFocus && foldingEnabledâ
},
{
âkeyâ: âctrl+q kâ,
âcommandâ: âeditor.action.defineKeybindingâ,
âwhenâ: âeditorTextFocusâ
},
{
âkeyâ: âctrl+q mâ,
âcommandâ: âworkbench.action.editor.changeLanguageModeâ,
âwhenâ: â!notebookEditorFocusedâ
},
{
âkeyâ: âctrl+q pâ,
âcommandâ: âworkbench.action.files.copyPathOfActiveFileâ
},
{
âkeyâ: âctrl+q râ,
âcommandâ: âworkbench.action.files.revealActiveFileInWindowsâ
},
{
âkeyâ: âctrl+q oâ,
âcommandâ: âworkbench.action.files.showOpenedFileInNewWindowâ,
âwhenâ: âemptyWorkspaceSupportâ
},
{
âkeyâ: âctrl+q sâ,
âcommandâ: âworkbench.action.files.saveAllâ
},
{
âkeyâ: âctrl+q wâ,
âcommandâ: âworkbench.action.closeAllEditorsâ
},
{
âkeyâ: âctrl+q wâ,
âcommandâ: âworkbench.action.closeEditorsInGroupâ
},
{
âkeyâ: âctrl+q fâ,
âcommandâ: âworkbench.action.closeFolderâ,
âwhenâ: âemptyWorkspaceSupport && workbenchState != âemptyââ
},
{
âkeyâ: âctrl+q upâ,
âcommandâ: âworkbench.action.focusAboveGroupâ
},
{
âkeyâ: âctrl+q downâ,
âcommandâ: âworkbench.action.focusBelowGroupâ
},
{
âkeyâ: âctrl+q leftâ,
âcommandâ: âworkbench.action.focusLeftGroupâ
},
{
âkeyâ: âctrl+q rightâ,
âcommandâ: âworkbench.action.focusRightGroupâ
}
]
There is one thing left that I havenât figured out yet, the prompts in cursor itself still mention Ctrl-K instead of the now correct Ctrl-Q
Thank you, you are a lifesaver! I was about to give up.
For those of us coming from vscode, Ctrl-K (Command-K) remapping is a complete killer. I kept bringing up chat trying to comment lines, split a window vertically, close a pane, etc⌠I was about to uninstall cursor before I read this thread and redefined the keymappings. Strongly recommend you allow the definitions to be nicely redefined by the installer (especially when you are migrating from vscode)
What the, why did you overwrite CMD+K this is insane.
For folks looking to just have Ctrl+l
work in their terminal as usual (clear terminal), you can add the following to your Keyboard Shortcuts (JSON) settings:
{
"key": "ctrl+l",
"command": "aichat.newchataction",
"when": "!terminalFocus"
},
{
"key": "ctrl+l",
"command": "-aichat.newchataction"
}
After every cursorâs update my shortcut settings get reset.
For me the main one is âCMD + SHIFT + Kâ. In vscode it removes the line while in cursor it open composer as bar. I just delete the cursorâs keybinding but after update it always comes back
As mentionned here, Cursor change all chored keyboard shortcuts of VS Code from Command/Ctrl+K
to Command/Ctrl+M
, because they use it for Cursor.
Instead of adding new keyboard shortcuts as @GeeWhizBang did, I directly overrode every keybindinds:
- All AI-related shortcuts use
I
instead ofK
E.g.,Ctrl+I
to open Inline Chat (see 1st section ofkeybindinds.json
below) - All chorded keyboard shortcuts use again
Ctrl+K
instead ofCtrl+M
, aligning with the default shortcuts used in VS Code. (see 1st section ofkeybindinds.json
below)
Sorry if I miss some bindings but hereâs my
keybindings.json
with all overrides:
EDIT 1: remove Ctrl+Y
override, clashing with basic Redo shortcuts (cf. post below)
[
// Cursor keybinds
{
"key": "ctrl+y",
"command": "-aichat.newfollowupaction"
},
// -- 1.Change Ctrl+K with Ctrl+I for AI
{
"key": "ctrl+i",
"command": "aipopup.action.modal.generate",
"when": "editorFocus && !composerBarIsVisible"
},
{
"key": "ctrl+k",
"command": "-aipopup.action.modal.generate",
"when": "editorFocus && !composerBarIsVisible"
},
{
"key": "ctrl+shift+k",
"command": "-aipopup.action.modal.generate",
"when": "editorFocus && !composerBarIsVisible"
},
{
"key": "ctrl+alt+i",
"command": "aichat.newchataction"
},
{
"key": "ctrl+l",
"command": "-aichat.newchataction"
},
{
"key": "ctrl+i",
"command": "cursorai.action.generateInTerminal",
"when": "terminalFocus && terminalHasBeenCreated || terminalFocus && terminalProcessSupported || terminalHasBeenCreated && terminalPromptBarVisible || terminalProcessSupported && terminalPromptBarVisible"
},
{
"key": "ctrl+k",
"command": "-cursorai.action.generateInTerminal",
"when": "terminalFocus && terminalHasBeenCreated || terminalFocus && terminalProcessSupported || terminalHasBeenCreated && terminalPromptBarVisible || terminalProcessSupported && terminalPromptBarVisible"
},
{
"key": "ctrl+shift+l",
"command": "-addCursorsAtSearchResults",
"when": "fileMatchOrMatchFocus && searchViewletVisible"
},
{
"key": "ctrl+shift+l",
"command": "-aichat.insertselectionintochat"
},
{
"key": "ctrl+p",
"command": "composer.showBackgroundAgentHistory",
"when": "backgroundComposerEnabled || showBackgroundAgentHistoryAction"
},
{
"key": "ctrl+e",
"command": "-composer.showBackgroundAgentHistory",
"when": "backgroundComposerEnabled || showBackgroundAgentHistoryAction"
},
// -- 2. Revert Ctrl+M with Ctrl+K for VS Code
{
"key": "ctrl+k",
"command": "workbench.action.keychord.leader",
"when": "false"
},
{
"key": "ctrl+m",
"command": "-workbench.action.keychord.leader",
"when": "false"
},
{
"key": "ctrl+k ctrl+c",
"command": "editor.action.addCommentLine",
"when": "editorTextFocus && !editorReadonly"
},
{
"key": "ctrl+m ctrl+c",
"command": "-editor.action.addCommentLine",
"when": "editorTextFocus && !editorReadonly"
},
{
"key": "ctrl+k m",
"command": "workbench.action.editor.changeLanguageMode",
"when": "!notebookEditorFocused"
},
{
"key": "ctrl+m m",
"command": "-workbench.action.editor.changeLanguageMode",
"when": "!notebookEditorFocused"
},
{
"key": "ctrl+k ctrl+alt+c",
"command": "workbench.action.addComment",
"when": "activeCursorHasCommentingRange"
},
{
"key": "ctrl+m ctrl+alt+c",
"command": "-workbench.action.addComment",
"when": "activeCursorHasCommentingRange"
},
{
"key": "ctrl+k ctrl+alt+down",
"command": "editor.action.nextCommentingRange",
"when": "accessibilityModeEnabled && commentFocused || accessibilityModeEnabled && editorFocus || accessibilityHelpIsShown && accessibilityModeEnabled && accessibleViewCurrentProviderId == 'comments'"
},
{
"key": "ctrl+m ctrl+alt+down",
"command": "-editor.action.nextCommentingRange",
"when": "accessibilityModeEnabled && commentFocused || accessibilityModeEnabled && editorFocus || accessibilityHelpIsShown && accessibilityModeEnabled && accessibleViewCurrentProviderId == 'comments'"
},
{
"key": "ctrl+k ctrl+alt+up",
"command": "editor.action.previousCommentingRange",
"when": "accessibilityModeEnabled && commentFocused || accessibilityModeEnabled && editorFocus || accessibilityHelpIsShown && accessibilityModeEnabled && accessibleViewCurrentProviderId == 'comments'"
},
{
"key": "ctrl+m ctrl+alt+up",
"command": "-editor.action.previousCommentingRange",
"when": "accessibilityModeEnabled && commentFocused || accessibilityModeEnabled && editorFocus || accessibilityHelpIsShown && accessibilityModeEnabled && accessibleViewCurrentProviderId == 'comments'"
},
{
"key": "ctrl+k ctrl+,",
"command": "editor.createFoldingRangeFromSelection",
"when": "editorTextFocus && foldingEnabled"
},
{
"key": "ctrl+m ctrl+,",
"command": "-editor.createFoldingRangeFromSelection",
"when": "editorTextFocus && foldingEnabled"
},
{
"key": "ctrl+k ctrl+g",
"command": "aiFeedback.action.open"
},
{
"key": "ctrl+m ctrl+g",
"command": "-aiFeedback.action.open"
},
{
"key": "ctrl+k ctrl+i",
"command": "editor.debug.action.showDebugHover",
"when": "editorTextFocus && inDebugMode"
},
{
"key": "ctrl+m ctrl+i",
"command": "-editor.debug.action.showDebugHover",
"when": "editorTextFocus && inDebugMode"
},
{
"key": "ctrl+k ctrl+k",
"command": "editor.action.defineKeybinding",
"when": "resource == 'vscode-userdata:/home/bencerf/.config/Cursor/User/keybindings.json'"
},
{
"key": "ctrl+m ctrl+k",
"command": "-editor.action.defineKeybinding",
"when": "resource == 'vscode-userdata:/home/bencerf/.config/Cursor/User/keybindings.json'"
},
{
"key": "ctrl+k e",
"command": "workbench.files.action.focusOpenEditorsView",
"when": "workbench.explorer.openEditorsView.active"
},
{
"key": "ctrl+m e",
"command": "-workbench.files.action.focusOpenEditorsView",
"when": "workbench.explorer.openEditorsView.active"
},
{
"key": "ctrl+k c",
"command": "workbench.files.action.compareWithClipboard"
},
{
"key": "ctrl+m c",
"command": "-workbench.files.action.compareWithClipboard"
},
{
"key": "ctrl+k d",
"command": "workbench.files.action.compareWithSaved"
},
{
"key": "ctrl+m d",
"command": "-workbench.files.action.compareWithSaved"
},
{
"key": "ctrl+k ctrl+alt+c",
"command": "copyFilePath",
"when": "editorFocus"
},
{
"key": "ctrl+m ctrl+alt+c",
"command": "-copyFilePath",
"when": "editorFocus"
},
{
"key": "ctrl+k ctrl+shift+alt+c",
"command": "copyRelativeFilePath",
"when": "editorFocus"
},
{
"key": "ctrl+m ctrl+shift+alt+c",
"command": "-copyRelativeFilePath",
"when": "editorFocus"
},
{
"key": "ctrl+k ctrl+o",
"command": "workbench.action.files.openFolder",
"when": "openFolderWorkspaceSupport"
},
{
"key": "ctrl+m ctrl+o",
"command": "-workbench.action.files.openFolder",
"when": "openFolderWorkspaceSupport"
},
{
"key": "ctrl+k s",
"command": "workbench.action.files.saveWithoutFormatting"
},
{
"key": "ctrl+m s",
"command": "-workbench.action.files.saveWithoutFormatting"
},
{
"key": "ctrl+k ctrl+p",
"command": "workbench.action.showAllEditors"
},
{
"key": "ctrl+m ctrl+p",
"command": "-workbench.action.showAllEditors"
},
{
"key": "ctrl+k ctrl+0",
"command": "editor.foldAll",
"when": "editorTextFocus && foldingEnabled"
},
{
"key": "ctrl+m ctrl+0",
"command": "-editor.foldAll",
"when": "editorTextFocus && foldingEnabled"
},
{
"key": "ctrl+k ctrl+/",
"command": "editor.foldAllBlockComments",
"when": "editorTextFocus && foldingEnabled"
},
{
"key": "ctrl+m ctrl+/",
"command": "-editor.foldAllBlockComments",
"when": "editorTextFocus && foldingEnabled"
},
{
"key": "ctrl+k ctrl+-",
"command": "editor.foldAllExcept",
"when": "editorTextFocus && foldingEnabled"
},
{
"key": "ctrl+m ctrl+-",
"command": "-editor.foldAllExcept",
"when": "editorTextFocus && foldingEnabled"
},
{
"key": "ctrl+k ctrl+8",
"command": "editor.foldAllMarkerRegions",
"when": "editorTextFocus && foldingEnabled"
},
{
"key": "ctrl+m ctrl+8",
"command": "-editor.foldAllMarkerRegions",
"when": "editorTextFocus && foldingEnabled"
},
{
"key": "ctrl+k ctrl+1",
"command": "editor.foldLevel1",
"when": "editorTextFocus && foldingEnabled"
},
{
"key": "ctrl+m ctrl+1",
"command": "-editor.foldLevel1",
"when": "editorTextFocus && foldingEnabled"
},
{
"key": "ctrl+k ctrl+2",
"command": "editor.foldLevel2",
"when": "editorTextFocus && foldingEnabled"
},
{
"key": "ctrl+m ctrl+2",
"command": "-editor.foldLevel2",
"when": "editorTextFocus && foldingEnabled"
},
{
"key": "ctrl+k ctrl+3",
"command": "editor.foldLevel3",
"when": "editorTextFocus && foldingEnabled"
},
{
"key": "ctrl+m ctrl+3",
"command": "-editor.foldLevel3",
"when": "editorTextFocus && foldingEnabled"
},
{
"key": "ctrl+k ctrl+4",
"command": "editor.foldLevel4",
"when": "editorTextFocus && foldingEnabled"
},
{
"key": "ctrl+m ctrl+4",
"command": "-editor.foldLevel4",
"when": "editorTextFocus && foldingEnabled"
},
{
"key": "ctrl+k ctrl+5",
"command": "editor.foldLevel5",
"when": "editorTextFocus && foldingEnabled"
},
{
"key": "ctrl+m ctrl+5",
"command": "-editor.foldLevel5",
"when": "editorTextFocus && foldingEnabled"
},
{
"key": "ctrl+k ctrl+6",
"command": "editor.foldLevel6",
"when": "editorTextFocus && foldingEnabled"
},
{
"key": "ctrl+m ctrl+6",
"command": "-editor.foldLevel6",
"when": "editorTextFocus && foldingEnabled"
},
{
"key": "ctrl+k ctrl+7",
"command": "editor.foldLevel7",
"when": "editorTextFocus && foldingEnabled"
},
{
"key": "ctrl+m ctrl+7",
"command": "-editor.foldLevel7",
"when": "editorTextFocus && foldingEnabled"
},
{
"key": "ctrl+k ctrl+[",
"command": "editor.foldRecursively",
"when": "editorTextFocus && foldingEnabled"
},
{
"key": "ctrl+m ctrl+[",
"command": "-editor.foldRecursively",
"when": "editorTextFocus && foldingEnabled"
},
{
"key": "ctrl+k ctrl+f",
"command": "editor.action.formatSelection",
"when": "editorHasDocumentSelectionFormattingProvider && editorTextFocus && !editorReadonly"
},
{
"key": "ctrl+m ctrl+f",
"command": "-editor.action.formatSelection",
"when": "editorHasDocumentSelectionFormattingProvider && editorTextFocus && !editorReadonly"
},
{
"key": "ctrl+k ctrl+q",
"command": "workbench.action.navigateToLastEditLocation"
},
{
"key": "ctrl+m ctrl+q",
"command": "-workbench.action.navigateToLastEditLocation"
},
{
"key": "ctrl+k ctrl+d",
"command": "editor.action.moveSelectionToNextFindMatch",
"when": "editorFocus"
},
{
"key": "ctrl+m ctrl+d",
"command": "-editor.action.moveSelectionToNextFindMatch",
"when": "editorFocus"
},
{
"key": "ctrl+k ctrl+c",
"command": "notebook.cell.collapseCellInput",
"when": "notebookCellListFocused && !inputFocus && !notebookCellInputIsCollapsed"
},
{
"key": "ctrl+m ctrl+c",
"command": "-notebook.cell.collapseCellInput",
"when": "notebookCellListFocused && !inputFocus && !notebookCellInputIsCollapsed"
},
{
"key": "ctrl+k t",
"command": "notebook.cell.collapseCellOutput",
"when": "notebookCellHasOutputs && notebookCellListFocused && !inputFocus && !notebookCellOutputIsCollapsed"
},
{
"key": "ctrl+m t",
"command": "-notebook.cell.collapseCellOutput",
"when": "notebookCellHasOutputs && notebookCellListFocused && !inputFocus && !notebookCellOutputIsCollapsed"
},
{
"key": "ctrl+k ctrl+c",
"command": "notebook.cell.expandCellInput",
"when": "notebookCellInputIsCollapsed && notebookCellListFocused"
},
{
"key": "ctrl+m ctrl+c",
"command": "-notebook.cell.expandCellInput",
"when": "notebookCellInputIsCollapsed && notebookCellListFocused"
},
{
"key": "ctrl+k t",
"command": "notebook.cell.expandCellOutput",
"when": "notebookCellListFocused && notebookCellOutputIsCollapsed"
},
{
"key": "ctrl+m t",
"command": "-notebook.cell.expandCellOutput",
"when": "notebookCellListFocused && notebookCellOutputIsCollapsed"
},
{
"key": "ctrl+k ctrl+shift+\\",
"command": "notebook.cell.split",
"when": "editorTextFocus && notebookCellEditable && notebookEditable && notebookEditorFocused"
},
{
"key": "ctrl+m ctrl+shift+\\",
"command": "-notebook.cell.split",
"when": "editorTextFocus && notebookCellEditable && notebookEditable && notebookEditorFocused"
},
{
"key": "ctrl+k y",
"command": "notebook.cell.toggleOutputScrolling",
"when": "notebookCellHasOutputs && notebookCellListFocused && !inputFocus"
},
{
"key": "ctrl+m y",
"command": "-notebook.cell.toggleOutputScrolling",
"when": "notebookCellHasOutputs && notebookCellListFocused && !inputFocus"
},
{
"key": "ctrl+k ctrl+shift+n",
"command": "notifications.showList"
},
{
"key": "ctrl+m ctrl+shift+n",
"command": "-notifications.showList"
},
{
"key": "ctrl+k f12",
"command": "editor.action.revealDefinitionAside",
"when": "editorHasDefinitionProvider && editorTextFocus && !isInEmbeddedEditor"
},
{
"key": "ctrl+m f12",
"command": "-editor.action.revealDefinitionAside",
"when": "editorHasDefinitionProvider && editorTextFocus && !isInEmbeddedEditor"
},
{
"key": "ctrl+k ctrl+f12",
"command": "editor.action.revealDefinitionAside",
"when": "editorHasDefinitionProvider && editorTextFocus && isWeb && !isInEmbeddedEditor"
},
{
"key": "ctrl+m ctrl+f12",
"command": "-editor.action.revealDefinitionAside",
"when": "editorHasDefinitionProvider && editorTextFocus && isWeb && !isInEmbeddedEditor"
},
{
"key": "ctrl+k ctrl+t",
"command": "workbench.action.selectTheme"
},
{
"key": "ctrl+m ctrl+t",
"command": "-workbench.action.selectTheme"
},
{
"key": "ctrl+k ctrl+s",
"command": "workbench.action.openGlobalKeybindings"
},
{
"key": "ctrl+m ctrl+s",
"command": "-workbench.action.openGlobalKeybindings"
},
{
"key": "ctrl+k ctrl+u",
"command": "editor.action.removeCommentLine",
"when": "editorTextFocus && !editorReadonly"
},
{
"key": "ctrl+m ctrl+u",
"command": "-editor.action.removeCommentLine",
"when": "editorTextFocus && !editorReadonly"
},
{
"key": "ctrl+k ctrl+.",
"command": "editor.removeManualFoldingRanges",
"when": "editorTextFocus && foldingEnabled"
},
{
"key": "ctrl+m ctrl+.",
"command": "-editor.removeManualFoldingRanges",
"when": "editorTextFocus && foldingEnabled"
},
{
"key": "ctrl+k ctrl+k",
"command": "editor.action.selectFromAnchorToCursor",
"when": "editorTextFocus && selectionAnchorSet"
},
{
"key": "ctrl+m ctrl+k",
"command": "-editor.action.selectFromAnchorToCursor",
"when": "editorTextFocus && selectionAnchorSet"
},
{
"key": "ctrl+k ctrl+b",
"command": "editor.action.setSelectionAnchor",
"when": "editorTextFocus"
},
{
"key": "ctrl+m ctrl+b",
"command": "-editor.action.setSelectionAnchor",
"when": "editorTextFocus"
},
{
"key": "ctrl+k ctrl+i",
"command": "editor.action.showHover",
"when": "editorTextFocus"
},
{
"key": "ctrl+m ctrl+i",
"command": "-editor.action.showHover",
"when": "editorTextFocus"
},
{
"key": "ctrl+k ctrl+i",
"command": "workbench.action.terminal.focusHover",
"when": "terminalFocus && terminalHasBeenCreated || terminalFocus && terminalIsOpen || terminalFocus && terminalProcessSupported || terminalHasBeenCreated && terminalTabsFocus || terminalIsOpen && terminalTabsFocus || terminalProcessSupported && terminalTabsFocus"
},
{
"key": "ctrl+m ctrl+i",
"command": "-workbench.action.terminal.focusHover",
"when": "terminalFocus && terminalHasBeenCreated || terminalFocus && terminalIsOpen || terminalFocus && terminalProcessSupported || terminalHasBeenCreated && terminalTabsFocus || terminalIsOpen && terminalTabsFocus || terminalProcessSupported && terminalTabsFocus"
},
{
"key": "ctrl+k ctrl+l",
"command": "editor.toggleFold",
"when": "editorTextFocus && foldingEnabled"
},
{
"key": "ctrl+m ctrl+l",
"command": "-editor.toggleFold",
"when": "editorTextFocus && foldingEnabled"
},
{
"key": "ctrl+k ctrl+shift+l",
"command": "editor.toggleFoldRecursively",
"when": "editorTextFocus && foldingEnabled"
},
{
"key": "ctrl+m ctrl+shift+l",
"command": "-editor.toggleFoldRecursively",
"when": "editorTextFocus && foldingEnabled"
},
{
"key": "ctrl+k ctrl+x",
"command": "editor.action.trimTrailingWhitespace",
"when": "editorTextFocus && !editorReadonly"
},
{
"key": "ctrl+m ctrl+x",
"command": "-editor.action.trimTrailingWhitespace",
"when": "editorTextFocus && !editorReadonly"
},
{
"key": "ctrl+k ctrl+j",
"command": "editor.unfoldAll",
"when": "editorTextFocus && foldingEnabled"
},
{
"key": "ctrl+m ctrl+j",
"command": "-editor.unfoldAll",
"when": "editorTextFocus && foldingEnabled"
},
{
"key": "ctrl+k ctrl+=",
"command": "editor.unfoldAllExcept",
"when": "editorTextFocus && foldingEnabled"
},
{
"key": "ctrl+m ctrl+=",
"command": "-editor.unfoldAllExcept",
"when": "editorTextFocus && foldingEnabled"
},
{
"key": "ctrl+k ctrl+9",
"command": "editor.unfoldAllMarkerRegions",
"when": "editorTextFocus && foldingEnabled"
},
{
"key": "ctrl+m ctrl+9",
"command": "-editor.unfoldAllMarkerRegions",
"when": "editorTextFocus && foldingEnabled"
},
{
"key": "ctrl+k ctrl+]",
"command": "editor.unfoldRecursively",
"when": "editorTextFocus && foldingEnabled"
},
{
"key": "ctrl+m ctrl+]",
"command": "-editor.unfoldRecursively",
"when": "editorTextFocus && foldingEnabled"
},
{
"key": "ctrl+k ctrl+shift+w",
"command": "workbench.action.closeAllGroups"
},
{
"key": "ctrl+m ctrl+shift+w",
"command": "-workbench.action.closeAllGroups"
},
{
"key": "ctrl+k ctrl+w",
"command": "workbench.action.closeAllEditors"
},
{
"key": "ctrl+m ctrl+w",
"command": "-workbench.action.closeAllEditors"
},
{
"key": "ctrl+k w",
"command": "workbench.action.closeEditorsInGroup"
},
{
"key": "ctrl+m w",
"command": "-workbench.action.closeEditorsInGroup"
},
{
"key": "ctrl+k u",
"command": "workbench.action.closeUnmodifiedEditors"
},
{
"key": "ctrl+m u",
"command": "-workbench.action.closeUnmodifiedEditors"
},
{
"key": "ctrl+k o",
"command": "workbench.action.copyEditorToNewWindow",
"when": "activeEditor"
},
{
"key": "ctrl+m o",
"command": "-workbench.action.copyEditorToNewWindow",
"when": "activeEditor"
},
{
"key": "ctrl+k ctrl+up",
"command": "workbench.action.focusAboveGroup"
},
{
"key": "ctrl+m ctrl+up",
"command": "-workbench.action.focusAboveGroup"
},
{
"key": "ctrl+k ctrl+down",
"command": "workbench.action.focusBelowGroup"
},
{
"key": "ctrl+m ctrl+down",
"command": "-workbench.action.focusBelowGroup"
},
{
"key": "ctrl+k ctrl+up",
"command": "workbench.action.focusAboveGroup"
},
{
"key": "ctrl+m ctrl+up",
"command": "-workbench.action.focusAboveGroup"
},
{
"key": "ctrl+k ctrl+left",
"command": "workbench.action.focusLeftGroup"
},
{
"key": "ctrl+m ctrl+left",
"command": "-workbench.action.focusLeftGroup"
},
{
"key": "ctrl+k ctrl+right",
"command": "workbench.action.focusRightGroup"
},
{
"key": "ctrl+m ctrl+right",
"command": "-workbench.action.focusRightGroup"
},
{
"key": "ctrl+k ctrl+shift+\\",
"command": "workbench.action.joinEditorInGroup",
"when": "sideBySideEditorActive"
},
{
"key": "ctrl+m ctrl+shift+\\",
"command": "-workbench.action.joinEditorInGroup",
"when": "sideBySideEditorActive"
},
{
"key": "ctrl+k ctrl+enter",
"command": "workbench.action.keepEditor"
},
{
"key": "ctrl+m enter",
"command": "-workbench.action.keepEditor"
},
{
"key": "ctrl+k down",
"command": "workbench.action.moveActiveEditorGroupDown"
},
{
"key": "ctrl+m down",
"command": "-workbench.action.moveActiveEditorGroupDown"
},
{
"key": "ctrl+k left",
"command": "workbench.action.moveActiveEditorGroupLeft"
},
{
"key": "ctrl+m left",
"command": "-workbench.action.moveActiveEditorGroupLeft"
},
{
"key": "ctrl+k right",
"command": "workbench.action.moveActiveEditorGroupRight"
},
{
"key": "ctrl+m right",
"command": "-workbench.action.moveActiveEditorGroupRight"
},
{
"key": "ctrl+k up",
"command": "workbench.action.moveActiveEditorGroupUp"
},
{
"key": "ctrl+m up",
"command": "-workbench.action.moveActiveEditorGroupUp"
},
{
"key": "ctrl+k ctrl+pagedown",
"command": "workbench.action.nextEditorInGroup"
},
{
"key": "ctrl+m ctrl+pagedown",
"command": "-workbench.action.nextEditorInGroup"
},
{
"key": "ctrl+k ctrl+pageup",
"command": "workbench.action.previousEditorInGroup"
},
{
"key": "ctrl+m ctrl+pageup",
"command": "-workbench.action.previousEditorInGroup"
},
{
"key": "ctrl+k shift+enter",
"command": "workbench.action.pinEditor",
"when": "!activeEditorIsPinned"
},
{
"key": "ctrl+m shift+enter",
"command": "-workbench.action.pinEditor",
"when": "!activeEditorIsPinned"
},
{
"key": "ctrl+k ctrl+\\",
"command": "workbench.action.splitEditorDown"
},
{
"key": "ctrl+m ctrl+\\",
"command": "-workbench.action.splitEditorDown"
},
{
"key": "ctrl+k ctrl+shift+\\",
"command": "workbench.action.splitEditorInGroup",
"when": "activeEditorCanSplitInGroup"
},
{
"key": "ctrl+m ctrl+shift+\\",
"command": "-workbench.action.splitEditorInGroup",
"when": "activeEditorCanSplitInGroup"
},
{
"key": "ctrl+k ctrl+\\",
"command": "workbench.action.splitEditorLeft"
},
{
"key": "ctrl+m ctrl+\\",
"command": "-workbench.action.splitEditorLeft"
},
{
"key": "ctrl+k ctrl+\\",
"command": "workbench.action.splitEditorOrthogonal"
},
{
"key": "ctrl+m ctrl+\\",
"command": "-workbench.action.splitEditorOrthogonal"
},
{
"key": "ctrl+k ctrl+\\",
"command": "workbench.action.splitEditorRight"
},
{
"key": "ctrl+m ctrl+\\",
"command": "-workbench.action.splitEditorRight"
},
{
"key": "ctrl+k ctrl+\\",
"command": "workbench.action.splitEditorUp"
},
{
"key": "ctrl+m ctrl+\\",
"command": "-workbench.action.splitEditorUp"
},
{
"key": "ctrl+k ctrl+m",
"command": "workbench.action.toggleMaximizeEditorGroup",
"when": "editorPartMaximizedEditorGroup || editorPartMultipleEditorGroups"
},
{
"key": "ctrl+m ctrl+m",
"command": "-workbench.action.toggleMaximizeEditorGroup",
"when": "editorPartMaximizedEditorGroup || editorPartMultipleEditorGroups"
},
{
"key": "ctrl+k ctrl+h",
"command": "workbench.action.output.toggleOutput",
"when": "workbench.panel.output.active"
},
{
"key": "ctrl+m ctrl+h",
"command": "-workbench.action.output.toggleOutput",
"when": "workbench.panel.output.active"
},
{
"key": "ctrl+k z",
"command": "workbench.action.toggleZenMode",
"when": "!isAuxiliaryWindowFocusedContext"
},
{
"key": "ctrl+m z",
"command": "-workbench.action.toggleZenMode",
"when": "!isAuxiliaryWindowFocusedContext"
},
{
"key": "ctrl+k shift+enter",
"command": "workbench.action.unpinEditor",
"when": "activeEditorIsPinned"
},
{
"key": "ctrl+m shift+enter",
"command": "-workbench.action.unpinEditor",
"when": "activeEditorIsPinned"
},
{
"key": "ctrl+k f",
"command": "workbench.action.closeFolder",
"when": "emptyWorkspaceSupport && workbenchState != 'empty'"
},
{
"key": "ctrl+m f",
"command": "-workbench.action.closeFolder",
"when": "emptyWorkspaceSupport && workbenchState != 'empty'"
},
{
"key": "ctrl+k ctrl+a",
"command": "keybindings.editor.addKeybinding",
"when": "inKeybindings && keybindingFocus"
},
{
"key": "ctrl+m ctrl+a",
"command": "-keybindings.editor.addKeybinding",
"when": "inKeybindings && keybindingFocus"
},
{
"key": "ctrl+k ctrl+e",
"command": "keybindings.editor.defineWhenExpression",
"when": "inKeybindings && keybindingFocus"
},
{
"key": "ctrl+m ctrl+e",
"command": "-keybindings.editor.defineWhenExpression",
"when": "inKeybindings && keybindingFocus"
},
{
"key": "ctrl+k ctrl+i",
"command": "list.showHover",
"when": "listFocus && !inputFocus && !treestickyScrollFocused"
},
{
"key": "ctrl+m ctrl+i",
"command": "-list.showHover",
"when": "listFocus && !inputFocus && !treestickyScrollFocused"
},
{
"key": "ctrl+k i",
"command": "notebook.cell.chat.start",
"when": "config.notebook.experimental.cellChat && notebookChatAgentRegistered && notebookEditable && notebookEditorFocused && !inputFocus || config.notebook.experimental.generate && notebookChatAgentRegistered && notebookEditable && notebookEditorFocused && !inputFocus"
},
{
"key": "ctrl+m i",
"command": "-notebook.cell.chat.start",
"when": "config.notebook.experimental.cellChat && notebookChatAgentRegistered && notebookEditable && notebookEditorFocused && !inputFocus || config.notebook.experimental.generate && notebookChatAgentRegistered && notebookEditable && notebookEditorFocused && !inputFocus"
},
{
"key": "ctrl+k f2",
"command": "togglePeekWidgetFocus",
"when": "inReferenceSearchEditor || referenceSearchVisible"
},
{
"key": "ctrl+m f2",
"command": "-togglePeekWidgetFocus",
"when": "inReferenceSearchEditor || referenceSearchVisible"
},
{
"key": "ctrl+k down",
"command": "views.moveViewDown",
"when": "focusedView != ''"
},
{
"key": "ctrl+m down",
"command": "-views.moveViewDown",
"when": "focusedView != ''"
},
{
"key": "ctrl+k left",
"command": "views.moveViewLeft",
"when": "focusedView != ''"
},
{
"key": "ctrl+m left",
"command": "-views.moveViewLeft",
"when": "focusedView != ''"
},
{
"key": "ctrl+k right",
"command": "views.moveViewRight",
"when": "focusedView != ''"
},
{
"key": "ctrl+m right",
"command": "-views.moveViewRight",
"when": "focusedView != ''"
},
{
"key": "ctrl+k up",
"command": "views.moveViewUp",
"when": "focusedView != ''"
},
{
"key": "ctrl+m up",
"command": "-views.moveViewUp",
"when": "focusedView != ''"
},
{
"key": "ctrl+k shift+o",
"command": "workbench.action.compareEditor.openSide",
"when": "inDiffEditor"
},
{
"key": "ctrl+m shift+o",
"command": "-workbench.action.compareEditor.openSide",
"when": "inDiffEditor"
},
{
"key": "ctrl+k p",
"command": "workbench.action.files.copyPathOfActiveFile"
},
{
"key": "ctrl+m p",
"command": "-workbench.action.files.copyPathOfActiveFile"
},
{
"key": "ctrl+k ctrl+o",
"command": "workbench.action.files.openLocalFolder",
"when": "remoteFileDialogVisible"
},
{
"key": "ctrl+m ctrl+o",
"command": "-workbench.action.files.openLocalFolder",
"when": "remoteFileDialogVisible"
},
{
"key": "ctrl+k r",
"command": "workbench.action.files.revealActiveFileInWindows"
},
{
"key": "ctrl+m r",
"command": "-workbench.action.files.revealActiveFileInWindows"
}
]
@truell20, why did your team overridden the basic Redo shortcut Ctrl+Y
?
I would be interested why was the main reason behind this? Is it because ppl would use more
Ctrl+Shift+Y
instead of Ctrl+Y
, so itâs fine? 
For those who want their Ctrl+Y
back, just unbound it:
{
{
"key": "ctrl+y",
"command": "-aichat.newfollowupaction"
}
}
now they overrode save-As for some stupid â â â â . how do i find and kill all their shortcuts? debugger show this:
workbench.action.backgroundComposer.toggleSidebar
but i canât see that in the Cursor > User > keybindings.json
fân with muscle memory is a surefire way to â â â â everyone off.
Hey. Do you know what is the when
clause context when the sidebar AI text chatbox is in focus? Iâve been trying to set a keybind and I need to exclude when itâs active but Iâm unable to figure it out. If you have any clue, please add here. Thanks in advance!