Skip to content

Instantly share code, notes, and snippets.

@art-divin
Created December 31, 2023 22:46
Show Gist options
  • Save art-divin/cbbfece68071916790f300fc001be776 to your computer and use it in GitHub Desktop.
Save art-divin/cbbfece68071916790f300fc001be776 to your computer and use it in GitHub Desktop.
Xcode to VSCode Keybindings for Linux in VM
// Place your key bindings in this file to override the defaultsauto[]
[
{
"key": "escape",
"command": "editor.action.inlineSuggest.hide",
"when": "suggestWidgetVisible"
},
{
"key": "escape",
"command": "hideSuggestWidget",
"when": "suggestWidgetVisible && textInputFocus"
},
{
"key": "escape",
"command": "editor.action.triggerSuggest",
"when": "!suggestWidgetVisible"
},
{
"key": "shift+escape",
"command": "-hideSuggestWidget",
"when": "suggestWidgetVisible && textInputFocus"
},
{
"key": "ctrl+shift+alt+cmd+t",
"command": "workbench.action.reloadWindow",
"when": "isDevelopment"
},
{
"key": "meta+r",
"command": "-workbench.action.reloadWindow",
"when": "isDevelopment"
},
{
"key": "meta+r",
"command": "workbench.action.debug.start",
"when": "debuggersAvailable && debugState == 'inactive'"
},
{
"key": "f5",
"command": "-workbench.action.debug.start",
"when": "debuggersAvailable && debugState == 'inactive'"
},
{
"key": "ctrl+shift+alt+cmd+c",
"command": "copyRelativeFilePath",
"when": "!editorFocus"
},
{
"key": "shift+alt+cmd+c",
"command": "-copyRelativeFilePath",
"when": "!editorFocus"
},
{
"key": "shift+alt+meta+c",
"command": "workbench.action.debug.pause",
"when": "debugState == 'running'"
},
{
"key": "f6",
"command": "-workbench.action.debug.pause",
"when": "debugState == 'running'"
},
{
"key": "f6",
"command": "-workbench.action.focusNextPart"
},
{
"key": "ctrl+alt+c",
"command": "extension.node-debug.startWithStopOnEntry",
"when": "!inDebugMode && debugConfigurationType == 'node' || !inDebugMode && debugConfigurationType == 'pwa-extensionHost' || !inDebugMode && debugConfigurationType == 'pwa-node'"
},
{
"key": "f10",
"command": "-extension.node-debug.startWithStopOnEntry",
"when": "!inDebugMode && debugConfigurationType == 'node' || !inDebugMode && debugConfigurationType == 'pwa-extensionHost' || !inDebugMode && debugConfigurationType == 'pwa-node'"
},
{
"key": "f7",
"command": "-editor.action.diffReview.next",
"when": "isInDiffEditor"
},
{
"key": "f7",
"command": "-editor.action.wordHighlight.next",
"when": "editorTextFocus && hasWordHighlights"
},
{
"key": "f7",
"command": "workbench.action.debug.stepInto",
"when": "debugState != 'inactive'"
},
{
"key": "f11",
"command": "-workbench.action.debug.stepInto",
"when": "debugState != 'inactive'"
},
{
"key": "ctrl+shift+c",
"command": "workbench.action.debug.continue",
"when": "debugState == 'stopped'"
},
{
"key": "f5",
"command": "-workbench.action.debug.continue",
"when": "debugState == 'stopped'"
},
{
"key": "meta+r",
"command": "workbench.action.debug.restart",
"when": "inDebugMode"
},
{
"key": "shift+meta+f5",
"command": "-workbench.action.debug.restart",
"when": "inDebugMode"
},
{
"key": "alt+meta+b",
"command": "-workbench.action.toggleAuxiliaryBar"
},
{
"key": "alt+meta+b",
"command": "workbench.action.debug.stop",
"when": "inDebugMode && !focusedSessionIsAttach"
},
{
"key": "shift+f5",
"command": "-workbench.action.debug.stop",
"when": "inDebugMode && !focusedSessionIsAttach"
},
{
"key": "f6",
"command": "workbench.action.debug.stepOver",
"when": "debugState == 'stopped'"
},
{
"key": "f10",
"command": "-workbench.action.debug.stepOver",
"when": "debugState == 'stopped'"
},
{
"key": "f7",
"command": "workbench.action.debug.stepOut",
"when": "debugState == 'stopped'"
},
{
"key": "shift+f11",
"command": "-workbench.action.debug.stepOut",
"when": "debugState == 'stopped'"
},
{
"key": "meta+right",
"command": "cursorLineEnd",
"when": "textInputFocus"
},
{
"key": "ctrl+alt+left",
"command": "-cursorWordPartLeft",
"when": "textInputFocus"
},
{
"key": "meta+right",
"command": "cursorWordPartRight",
"when": "textInputFocus"
},
{
"key": "ctrl+alt+right",
"command": "-cursorWordPartRight",
"when": "textInputFocus"
},
{
"key": "ctrl+left",
"command": "-cursorHome",
"when": "textInputFocus"
},
{
"key": "alt+left",
"command": "-cursorWordLeft",
"when": "textInputFocus"
},
{
"key": "alt+right",
"command": "cursorWordRight",
"when": "textInputFocus"
},
{
"key": "ctrl+a",
"command": "-cursorLineStart",
"when": "textInputFocus"
},
{
"key": "alt+left",
"command": "cursorWordStartLeft",
"when": "textInputFocus"
},
{
"key": "ctrl+left",
"command": "cursorHome",
"when": "textInputFocus"
},
{
"key": "home",
"command": "-cursorHome",
"when": "textInputFocus"
},
{
"key": "ctrl+backspace",
"command": "-deleteLeft",
"when": "textInputFocus"
},
{
"key": "ctrl+backspace",
"command": "deleteWordPartLeft",
"when": "textInputFocus && !editorReadonly"
},
{
"key": "ctrl+alt+backspace",
"command": "-deleteWordPartLeft",
"when": "textInputFocus && !editorReadonly"
},
{
"key": "shift+alt+left",
"command": "-cursorWordLeftSelect",
"when": "textInputFocus"
},
{
"key": "meta+shift+left",
"command": "-editor.action.smartSelect.shrink",
"when": "editorTextFocus"
},
{
"key": "meta+shift+left",
"command": "cursorWordPartLeftSelect",
"when": "textInputFocus"
},
{
"key": "ctrl+shift+alt+left",
"command": "-cursorWordPartLeftSelect",
"when": "textInputFocus"
},
{
"key": "ctrl+shift+right",
"command": "-editor.action.smartSelect.expand",
"when": "editorTextFocus"
},
{
"key": "shift+meta+right",
"command": "cursorWordPartRightSelect",
"when": "textInputFocus"
},
{
"key": "ctrl+shift+alt+right",
"command": "-cursorWordPartRightSelect",
"when": "textInputFocus"
},
{
"key": "meta+left",
"command": "workbench.action.navigateBack",
"when": "canNavigateBack"
},
{
"key": "ctrl+alt+-",
"command": "-workbench.action.navigateBack",
"when": "canNavigateBack"
},
{
"key": "ctrl+alt+meta+g",
"command": "testing.reRunFailTests"
},
{
"key": "ctrl+; e",
"command": "-testing.reRunFailTests"
},
{
"key": "meta+u",
"command": "testing.runAll"
},
{
"key": "ctrl+; a",
"command": "-testing.runAll"
}
]
@art-divin
Copy link
Author

This is not a perfect binding, but it is more-or-less usable when compared to Xcode cursor behaviour. That being said, "command" key should be disabled in Ubuntu in order for bindings to work properly (i.e. meta key should not be bound to "Activities")

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment