Files
dotfiles/cursor/keybindings.json
2025-02-10 18:57:33 +00:00

341 lines
6.9 KiB
JSON

[
//
// Command Palette
//
{
"key": "ctrl+x m",
"command": "workbench.action.showCommands"
},
{
"key": "ctrl+x ctrl+m",
"command": "workbench.action.showCommands"
},
{
"key": "ctrl+x enter",
"command": "workbench.action.showCommands"
},
{
"key": "alt+x",
"command": "workbench.action.showCommands"
},
//
// Save
//
{
"key": "ctrl+x ctrl+s",
"command": "workbench.action.files.save"
},
//
// File open
//
{
"key": "ctrl+x ctrl+f",
"command": "file-browser.open",
"when": "editorTextFocus"
},
{
"key": "ctrl+x ctrl+;",
"command": "workbench.action.quickOpen"
},
//
// File rename
//
{
"key": "ctrl+c r",
"command": "file-browser.rename"
},
//
// Switch and close editor
//
{
"key": "ctrl+x ctrl+b",
"command": "workbench.action.showAllEditorsByMostRecentlyUsed",
"when": "!terminalFocus"
},
{
"key": "ctrl+x ctrl+k",
"command": "workbench.action.closeActiveEditor",
"when": "!terminalFocus"
},
//
// Fullscreen
//
{
"key": "ctrl+cmd+enter",
"command": "workbench.action.toggleFullScreen",
"when": "!isIOS"
},
{
"key": "cmd+enter",
"command": "workbench.action.toggleFullScreen",
"when": "!isIOS"
},
{
"key": "ctrl+cmd+f",
"command": "-workbench.action.toggleFullScreen",
"when": "!isIOS"
},
//
// Navigation
//
{
"key": "ctrl+x ctrl+o",
"command": "workbench.action.focusNextGroup",
"when": "!terminalFocus"
},
{
"key": "ctrl+x ctrl+i",
"command": "workbench.action.focusPreviousGroup",
"when": "!terminalFocus"
},
//
// Pane navigation
//
{
"key": "alt+i",
"command": "workbench.action.navigateUp"
},
// Workaround for alt+i not working in VSCode.
{
"key": "cmd+alt+up",
"command": "workbench.action.navigateUp"
},
{
"key": "alt+l",
"command": "workbench.action.navigateRight"
},
{
"key": "alt+j",
"command": "workbench.action.navigateLeft"
},
{
"key": "alt+k",
"command": "workbench.action.navigateDown"
},
//
// Move active editor group
//
{
"key": "shift+alt+k",
"command": "workbench.action.moveActiveEditorGroupDown"
},
{
"key": "shift+alt+j",
"command": "workbench.action.moveActiveEditorGroupLeft"
},
{
"key": "shift+alt+cmd+up",
"command": "workbench.action.moveActiveEditorGroupUp"
},
{
"key": "shift+alt+l",
"command": "workbench.action.moveActiveEditorGroupRight"
},
//
// Move active editor into group
//
{
"key": "ctrl+shift+i",
"command": "workbench.action.moveEditorToAboveGroup"
},
{
"key": "ctrl+shift+k",
"command": "workbench.action.moveEditorToBelowGroup"
},
{
"key": "ctrl+shift+j",
"command": "workbench.action.moveEditorToLeftGroup"
},
{
"key": "ctrl+shift+l",
"command": "workbench.action.moveEditorToRightGroup"
},
//
// Undo/redo
//
{
"key": "alt+-",
"command": "undo",
"when": "editorTextFocus && !editorReadonly"
},
{
"key": "shift+alt+-",
"command": "redo",
"when": "editorTextFocus && !editorReadonly"
},
//
// Text navigation
//
{
"key": "ctrl+t",
"command": "workbench.action.gotoSymbol",
"when": "editorTextFocus"
},
{
"key": "ctrl+c ctrl+j",
"command": "editor.action.revealDefinition"
},
{
"key": "alt+g b",
"command": "workbench.action.navigateBack"
},
{
"key": "alt+shift+/",
"command": "editor.action.referenceSearch.trigger",
"when": "editorHasReferenceProvider && editorTextFocus && !inReferenceSearchEditor && !isInEmbeddedEditor"
},
//
// Text manipulation
//
{
"key": "ctrl+c ctrl+/",
"command": "editor.action.commentLine",
"when": "editorTextFocus && !editorReadonly"
},
{
"key": "alt+p",
"command": "notebook.cell.moveUp",
"when": "notebookEditorFocused && !inputFocus"
},
{
"key": "alt+n",
"command": "notebook.cell.moveDown",
"when": "notebookEditorFocused && !inputFocus"
},
{
"key": "ctrl+c ctrl+f",
"command": "editor.action.formatDocument",
"when": "editorTextFocus && !editorReadonly"
},
// Workaround for alt+n not working in VSCode.
{
"key": "alt+cmd+down",
"command": "notebook.cell.moveDown",
"when": "notebookEditorFocused && !inputFocus"
},
{
"key": "alt+p",
"command": "editor.action.moveLinesUpAction",
"when": "editorTextFocus && !editorReadonly"
},
{
"key": "alt+n",
"command": "editor.action.moveLinesDownAction",
"when": "editorTextFocus && !editorReadonly"
},
// Workaround for alt+n not working in VSCode.
{
"key": "alt+cmd+down",
"command": "editor.action.moveLinesDownAction",
"when": "editorTextFocus && !editorReadonly"
},
{
"key": "ctrl+x ctrl+d",
"command": "editor.action.duplicateSelection"
},
{
"key": "ctrl+c ctrl+.",
"command": "editor.action.rename",
"when": "editorHasRenameProvider && editorTextFocus && !editorReadonly"
},
//
// Completion
//
{
"key": "alt+shift+f",
"command": "editor.action.inlineSuggest.acceptNextWord"
},
//
// Multi-cusor
//
{
"key": "alt+m",
"command": "editor.action.insertCursorAbove",
"when": "editorTextFocus"
},
{
"key": "alt+cmd+up",
"command": "-editor.action.insertCursorAbove",
"when": "editorTextFocus"
},
{
"key": "alt+/",
"command": "editor.action.insertCursorBelow",
"when": "editorTextFocus"
},
{
"key": "alt+cmd+down",
"command": "-editor.action.insertCursorBelow",
"when": "editorTextFocus"
},
//
// edamagit
//
{
"key": "ctrl+x g",
"command": "magit.status"
},
{
"key": "alt+x g",
"command": "-magit.status"
},
//
// Project Manager
//
{
"key": "ctrl+z ctrl+s",
"command": "projectManager.listProjects"
},
{
"key": "alt+cmd+p",
"command": "-projectManager.listProjects"
},
//
// dired
//
{
"key": "ctrl+x ctrl+j",
"command": "extension.dired.open",
"when": "editorTextFocus && !inDebugRepl"
},
{
"key": "ctrl+x f",
"command": "-extension.dired.open",
"when": "editorTextFocus && !inDebugRepl"
},
{
"key": "c",
"command": "extension.dired.createDir",
"when": "dired.open && !findWidgetVisible && !inQuickOpen"
},
{
"key": "shift+=",
"command": "-extension.dired.createDir",
"when": "dired.open && !findWidgetVisible && !inQuickOpen"
},
{
"key": "ctrl+l",
"command": "extension.dired.goUpDir",
"when": "dired.open && !findWidgetVisible && !inQuickOpen"
},
{
"key": "shift+b",
"command": "-extension.dired.goUpDir",
"when": "dired.open && !findWidgetVisible && !inQuickOpen"
},
//
// swiper
//
{
"key": "alt+r",
"command": "swiper.swiper-word-at-cursor"
},
//
// Makefile task runner
//
{
"key": "ctrl+c enter",
"command": "make-task-provider.runTarget"
}
]