feat(cursor): add settings, keybindings and karabiner modifications for Cursor

This commit is contained in:
2025-02-10 01:47:42 +00:00
parent 3ec3884108
commit 2b54755e91
6 changed files with 1616 additions and 1 deletions

294
cursor/keybindings.json Normal file
View File

@@ -0,0 +1,294 @@
// Place your key bindings in this file to override the defaults
[
//
// 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+;",
"command": "workbench.action.quickOpen"
},
{
"key": "ctrl+x ctrl+f",
"command": "file-browser.open",
"when": "editorTextFocus"
},
//
// 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",
},
//
// Undo/Redo
//
{
"key": "alt+-",
"command": "undo",
"when": "editorTextFocus && !editorReadonly"
},
{
"key": "shift+alt+-",
"command": "redo",
"when": "editorTextFocus && !editorReadonly"
},
//
// Text Navigation
//
{
"key": "alt+f",
"command": "cursorWordPartRight",
"when": "editorTextFocus"
},
{
"key": "alt+b",
"command": "cursorWordPartLeft",
"when": "editorTextFocus"
},
{
"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": "alt+d",
"command": "deleteWordPartRight",
"when": "editorTextFocus && !editorReadonly"
},
{
"key": "alt+backspace",
"command": "deleteWordPartLeft",
"when": "editorTextFocus && !editorReadonly"
},
{
"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"
},
//
// 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",
},
//
// 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"
},
]

134
cursor/settings.json Normal file
View File

@@ -0,0 +1,134 @@
{
//
// Theme
//
"workbench.colorTheme": "One Dark Pro",
//
// Editor
//
"editor.fontFamily": "'Menlo Nerd Font Mono', 'Menlo Nerd Font', Menlo, Monaco, 'Courier New', monospace",
"editor.renderWhitespace": "trailing",
"editor.formatOnSave": true,
"editor.formatOnPaste": false,
"editor.rulers": [
80,
100,
120
],
"editor.semanticHighlighting.enabled": true,
//
// Files
//
"files.trimTrailingWhitespace": true,
"files.insertFinalNewline": true,
"files.trimFinalNewlines": true,
//
// Cursor
//
"cursor.aipreview.enabled": true,
"cursor.cpp.enablePartialAccepts": true,
"cursor.diffs.useCharacterLevelDiffs": true,
"cursor.terminal.usePreviewBox": true,
"cursor.general.enableShadowWorkspace": true,
//
// Window
//
"window.nativeFullScreen": false,
"window.commandCenter": true,
//
// Terminal
//
"terminal.integrated.persistentSessionScrollback": 1000,
"terminal.integrated.scrollback": 10000,
//
// Awesome Emacs Keybindings
//
"emacs-mcx.emacsLikeTab": true,
"emacs-mcx.killRingMax": 120,
"emacs-mcx.markRingMax": 32,
//
// File Browser
//
"file-browser.hideDotfiles": false,
"file-browser.labelIgnoredFiles": true,
//
// Project Manager
//
"projectManager.git.baseFolders": [
"~/Projects",
"~/.dotfiles",
"~/.config"
],
"projectManager.git.ignoredFolders": [
"node_modules",
"out",
"typings",
"test",
".haxelib",
"tmp",
"vendor",
"straight",
"elpaca"
],
"projectManager.any.ignoredFolders": [
"node_modules",
"out",
"typings",
"test",
"tmp",
"vendor",
"straight",
"elpaca"
],
"projectManager.hg.ignoredFolders": [
"node_modules",
"out",
"typings",
"test",
".haxelib",
"straight",
"elpaca"
],
"projectManager.svn.ignoredFolders": [
"node_modules",
"out",
"typings",
"test",
"straight",
"elpaca"
],
"projectManager.vscode.ignoredFolders": [
"node_modules",
"out",
"typings",
"test",
"straight",
"elpaca"
],
//
// Go
//
"go.formatTool": "gofumpt",
"go.inlayHints.constantValues": true,
"go.lintTool": "golangci-lint",
"go-lines.lineLength": 120,
//
// Ruby
//
"[ruby]": {
"editor.defaultFormatter": "Shopify.ruby-lsp",
"editor.formatOnSave": true,
"editor.formatOnType": true,
"editor.insertSpaces": true,
"editor.tabSize": 2,
},
//
// YAML (by RedHat)
//
"redhat.telemetry.enabled": false,
//
// Settings Sync
//
"sync.gist": "f69653abef0a95b41ab928e868551d87",
"sync.autoUpload": true,
}

View File

@@ -0,0 +1,835 @@
{
"description": "Emacs key bindings [control+keys] (rev 11) [custom]",
"manipulators": [
{
"conditions": [
{
"bundle_identifiers": [
"^org\\.gnu\\.Emacs$",
"^org\\.gnu\\.AquamacsEmacs$",
"^org\\.gnu\\.Aquamacs$",
"^org\\.pqrs\\.unknownapp\\.conkeror$",
"^com\\.microsoft\\.rdc$",
"^com\\.microsoft\\.rdc\\.",
"^net\\.sf\\.cord$",
"^com\\.thinomenon\\.RemoteDesktopConnection$",
"^com\\.itap-mobile\\.qmote$",
"^com\\.nulana\\.remotixmac$",
"^com\\.p5sys\\.jump\\.mac\\.viewer$",
"^com\\.p5sys\\.jump\\.mac\\.viewer\\.",
"^com\\.teamviewer\\.TeamViewer$",
"^com\\.vmware\\.horizon$",
"^com\\.2X\\.Client\\.Mac$",
"^com\\.OpenText\\.Exceed-TurboX-Client$",
"^com\\.realvnc\\.vncviewer$",
"^com\\.citrix\\.receiver\\.icaviewer",
"^com\\.apple\\.Terminal$",
"^com\\.googlecode\\.iterm2$",
"^co\\.zeit\\.hyperterm$",
"^co\\.zeit\\.hyper$",
"^io\\.alacritty$",
"^org\\.alacritty$",
"^net\\.kovidgoyal\\.kitty$",
"^com\\.mitchellh\\.ghostty$",
"^org\\.vim\\.",
"^com\\.qvacua\\.VimR$",
"^com\\.vmware\\.fusion$",
"^com\\.vmware\\.horizon$",
"^com\\.vmware\\.view$",
"^com\\.parallels\\.desktop$",
"^com\\.parallels\\.vm$",
"^com\\.parallels\\.desktop\\.console$",
"^org\\.virtualbox\\.app\\.VirtualBoxVM$",
"^com\\.citrix\\.XenAppViewer$",
"^com\\.vmware\\.proxyApp\\.",
"^com\\.parallels\\.winapp\\.",
"^com\\.utmapp\\.UTM$",
"^org\\.x\\.X11$",
"^com\\.apple\\.x11$",
"^org\\.macosforge\\.xquartz\\.X11$",
"^org\\.macports\\.X11$",
"^com\\.sublimetext\\.",
"^com\\.microsoft\\.VSCode$",
"^com\\.todesktop\\.",
"^dev\\.warp\\.Warp$"
],
"type": "frontmost_application_unless"
}
],
"from": {
"key_code": "d",
"modifiers": {
"mandatory": [
"control"
],
"optional": [
"caps_lock",
"option"
]
}
},
"to": [
{
"key_code": "delete_forward"
}
],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"^org\\.gnu\\.Emacs$",
"^org\\.gnu\\.AquamacsEmacs$",
"^org\\.gnu\\.Aquamacs$",
"^org\\.pqrs\\.unknownapp\\.conkeror$",
"^com\\.microsoft\\.rdc$",
"^com\\.microsoft\\.rdc\\.",
"^net\\.sf\\.cord$",
"^com\\.thinomenon\\.RemoteDesktopConnection$",
"^com\\.itap-mobile\\.qmote$",
"^com\\.nulana\\.remotixmac$",
"^com\\.p5sys\\.jump\\.mac\\.viewer$",
"^com\\.p5sys\\.jump\\.mac\\.viewer\\.",
"^com\\.teamviewer\\.TeamViewer$",
"^com\\.vmware\\.horizon$",
"^com\\.2X\\.Client\\.Mac$",
"^com\\.OpenText\\.Exceed-TurboX-Client$",
"^com\\.realvnc\\.vncviewer$",
"^com\\.citrix\\.receiver\\.icaviewer",
"^com\\.apple\\.Terminal$",
"^com\\.googlecode\\.iterm2$",
"^co\\.zeit\\.hyperterm$",
"^co\\.zeit\\.hyper$",
"^io\\.alacritty$",
"^org\\.alacritty$",
"^net\\.kovidgoyal\\.kitty$",
"^com\\.mitchellh\\.ghostty$",
"^org\\.vim\\.",
"^com\\.qvacua\\.VimR$",
"^com\\.vmware\\.fusion$",
"^com\\.vmware\\.horizon$",
"^com\\.vmware\\.view$",
"^com\\.parallels\\.desktop$",
"^com\\.parallels\\.vm$",
"^com\\.parallels\\.desktop\\.console$",
"^org\\.virtualbox\\.app\\.VirtualBoxVM$",
"^com\\.citrix\\.XenAppViewer$",
"^com\\.vmware\\.proxyApp\\.",
"^com\\.parallels\\.winapp\\.",
"^com\\.utmapp\\.UTM$",
"^org\\.x\\.X11$",
"^com\\.apple\\.x11$",
"^org\\.macosforge\\.xquartz\\.X11$",
"^org\\.macports\\.X11$",
"^com\\.sublimetext\\.",
"^com\\.microsoft\\.VSCode$",
"^com\\.todesktop\\.",
"^dev\\.warp\\.Warp$"
],
"type": "frontmost_application_unless"
}
],
"from": {
"key_code": "h",
"modifiers": {
"mandatory": [
"control"
],
"optional": [
"caps_lock",
"option"
]
}
},
"to": [
{
"key_code": "delete_or_backspace"
}
],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"^org\\.gnu\\.Emacs$",
"^org\\.gnu\\.AquamacsEmacs$",
"^org\\.gnu\\.Aquamacs$",
"^org\\.pqrs\\.unknownapp\\.conkeror$",
"^com\\.microsoft\\.rdc$",
"^com\\.microsoft\\.rdc\\.",
"^net\\.sf\\.cord$",
"^com\\.thinomenon\\.RemoteDesktopConnection$",
"^com\\.itap-mobile\\.qmote$",
"^com\\.nulana\\.remotixmac$",
"^com\\.p5sys\\.jump\\.mac\\.viewer$",
"^com\\.p5sys\\.jump\\.mac\\.viewer\\.",
"^com\\.teamviewer\\.TeamViewer$",
"^com\\.vmware\\.horizon$",
"^com\\.2X\\.Client\\.Mac$",
"^com\\.OpenText\\.Exceed-TurboX-Client$",
"^com\\.realvnc\\.vncviewer$",
"^com\\.citrix\\.receiver\\.icaviewer",
"^com\\.apple\\.Terminal$",
"^com\\.googlecode\\.iterm2$",
"^co\\.zeit\\.hyperterm$",
"^co\\.zeit\\.hyper$",
"^io\\.alacritty$",
"^org\\.alacritty$",
"^net\\.kovidgoyal\\.kitty$",
"^com\\.mitchellh\\.ghostty$",
"^org\\.vim\\.",
"^com\\.qvacua\\.VimR$",
"^com\\.vmware\\.fusion$",
"^com\\.vmware\\.horizon$",
"^com\\.vmware\\.view$",
"^com\\.parallels\\.desktop$",
"^com\\.parallels\\.vm$",
"^com\\.parallels\\.desktop\\.console$",
"^org\\.virtualbox\\.app\\.VirtualBoxVM$",
"^com\\.citrix\\.XenAppViewer$",
"^com\\.vmware\\.proxyApp\\.",
"^com\\.parallels\\.winapp\\.",
"^com\\.utmapp\\.UTM$",
"^org\\.x\\.X11$",
"^com\\.apple\\.x11$",
"^org\\.macosforge\\.xquartz\\.X11$",
"^org\\.macports\\.X11$",
"^com\\.sublimetext\\.",
"^com\\.microsoft\\.VSCode$",
"^com\\.todesktop\\.",
"^dev\\.warp\\.Warp$"
],
"type": "frontmost_application_unless"
}
],
"from": {
"key_code": "i",
"modifiers": {
"mandatory": [
"control"
],
"optional": [
"caps_lock",
"shift"
]
}
},
"to": [
{
"key_code": "tab"
}
],
"type": "basic"
},
{
"conditions": [
{
"keyboard_types": [
"ansi",
"iso"
],
"type": "keyboard_type_if"
}
],
"from": {
"key_code": "open_bracket",
"modifiers": {
"mandatory": [
"control"
],
"optional": [
"caps_lock"
]
}
},
"to": [
{
"key_code": "escape"
}
],
"type": "basic"
},
{
"conditions": [
{
"keyboard_types": [
"jis"
],
"type": "keyboard_type_if"
}
],
"from": {
"key_code": "close_bracket",
"modifiers": {
"mandatory": [
"control"
],
"optional": [
"caps_lock"
]
}
},
"to": [
{
"key_code": "escape"
}
],
"type": "basic"
},
{
"from": {
"key_code": "m",
"modifiers": {
"mandatory": [
"control"
],
"optional": [
"caps_lock",
"shift",
"option"
]
}
},
"to": [
{
"key_code": "return_or_enter"
}
],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"^org\\.gnu\\.Emacs$",
"^org\\.gnu\\.AquamacsEmacs$",
"^org\\.gnu\\.Aquamacs$",
"^org\\.pqrs\\.unknownapp\\.conkeror$",
"^com\\.microsoft\\.rdc$",
"^com\\.microsoft\\.rdc\\.",
"^net\\.sf\\.cord$",
"^com\\.thinomenon\\.RemoteDesktopConnection$",
"^com\\.itap-mobile\\.qmote$",
"^com\\.nulana\\.remotixmac$",
"^com\\.p5sys\\.jump\\.mac\\.viewer$",
"^com\\.p5sys\\.jump\\.mac\\.viewer\\.",
"^com\\.teamviewer\\.TeamViewer$",
"^com\\.vmware\\.horizon$",
"^com\\.2X\\.Client\\.Mac$",
"^com\\.OpenText\\.Exceed-TurboX-Client$",
"^com\\.realvnc\\.vncviewer$",
"^com\\.citrix\\.receiver\\.icaviewer",
"^com\\.apple\\.Terminal$",
"^com\\.googlecode\\.iterm2$",
"^co\\.zeit\\.hyperterm$",
"^co\\.zeit\\.hyper$",
"^io\\.alacritty$",
"^org\\.alacritty$",
"^net\\.kovidgoyal\\.kitty$",
"^com\\.mitchellh\\.ghostty$",
"^org\\.vim\\.",
"^com\\.qvacua\\.VimR$",
"^com\\.vmware\\.fusion$",
"^com\\.vmware\\.horizon$",
"^com\\.vmware\\.view$",
"^com\\.parallels\\.desktop$",
"^com\\.parallels\\.vm$",
"^com\\.parallels\\.desktop\\.console$",
"^org\\.virtualbox\\.app\\.VirtualBoxVM$",
"^com\\.citrix\\.XenAppViewer$",
"^com\\.vmware\\.proxyApp\\.",
"^com\\.parallels\\.winapp\\.",
"^com\\.utmapp\\.UTM$",
"^org\\.x\\.X11$",
"^com\\.apple\\.x11$",
"^org\\.macosforge\\.xquartz\\.X11$",
"^org\\.macports\\.X11$",
"^com\\.sublimetext\\.",
"^com\\.microsoft\\.VSCode$",
"^com\\.todesktop\\.",
"^dev\\.warp\\.Warp$"
],
"type": "frontmost_application_unless"
}
],
"from": {
"key_code": "b",
"modifiers": {
"mandatory": [
"control"
],
"optional": [
"caps_lock",
"shift",
"option"
]
}
},
"to": [
{
"key_code": "left_arrow"
}
],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"^org\\.gnu\\.Emacs$",
"^org\\.gnu\\.AquamacsEmacs$",
"^org\\.gnu\\.Aquamacs$",
"^org\\.pqrs\\.unknownapp\\.conkeror$",
"^com\\.microsoft\\.rdc$",
"^com\\.microsoft\\.rdc\\.",
"^net\\.sf\\.cord$",
"^com\\.thinomenon\\.RemoteDesktopConnection$",
"^com\\.itap-mobile\\.qmote$",
"^com\\.nulana\\.remotixmac$",
"^com\\.p5sys\\.jump\\.mac\\.viewer$",
"^com\\.p5sys\\.jump\\.mac\\.viewer\\.",
"^com\\.teamviewer\\.TeamViewer$",
"^com\\.vmware\\.horizon$",
"^com\\.2X\\.Client\\.Mac$",
"^com\\.OpenText\\.Exceed-TurboX-Client$",
"^com\\.realvnc\\.vncviewer$",
"^com\\.citrix\\.receiver\\.icaviewer",
"^com\\.apple\\.Terminal$",
"^com\\.googlecode\\.iterm2$",
"^co\\.zeit\\.hyperterm$",
"^co\\.zeit\\.hyper$",
"^io\\.alacritty$",
"^org\\.alacritty$",
"^net\\.kovidgoyal\\.kitty$",
"^com\\.mitchellh\\.ghostty$",
"^org\\.vim\\.",
"^com\\.qvacua\\.VimR$",
"^com\\.vmware\\.fusion$",
"^com\\.vmware\\.horizon$",
"^com\\.vmware\\.view$",
"^com\\.parallels\\.desktop$",
"^com\\.parallels\\.vm$",
"^com\\.parallels\\.desktop\\.console$",
"^org\\.virtualbox\\.app\\.VirtualBoxVM$",
"^com\\.citrix\\.XenAppViewer$",
"^com\\.vmware\\.proxyApp\\.",
"^com\\.parallels\\.winapp\\.",
"^com\\.utmapp\\.UTM$",
"^org\\.x\\.X11$",
"^com\\.apple\\.x11$",
"^org\\.macosforge\\.xquartz\\.X11$",
"^org\\.macports\\.X11$",
"^com\\.sublimetext\\.",
"^com\\.microsoft\\.VSCode$",
"^com\\.todesktop\\.",
"^dev\\.warp\\.Warp$"
],
"type": "frontmost_application_unless"
}
],
"from": {
"key_code": "f",
"modifiers": {
"mandatory": [
"control"
],
"optional": [
"caps_lock",
"shift",
"option"
]
}
},
"to": [
{
"key_code": "right_arrow"
}
],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"^org\\.gnu\\.Emacs$",
"^org\\.gnu\\.AquamacsEmacs$",
"^org\\.gnu\\.Aquamacs$",
"^org\\.pqrs\\.unknownapp\\.conkeror$",
"^com\\.microsoft\\.rdc$",
"^com\\.microsoft\\.rdc\\.",
"^net\\.sf\\.cord$",
"^com\\.thinomenon\\.RemoteDesktopConnection$",
"^com\\.itap-mobile\\.qmote$",
"^com\\.nulana\\.remotixmac$",
"^com\\.p5sys\\.jump\\.mac\\.viewer$",
"^com\\.p5sys\\.jump\\.mac\\.viewer\\.",
"^com\\.teamviewer\\.TeamViewer$",
"^com\\.vmware\\.horizon$",
"^com\\.2X\\.Client\\.Mac$",
"^com\\.OpenText\\.Exceed-TurboX-Client$",
"^com\\.realvnc\\.vncviewer$",
"^com\\.citrix\\.receiver\\.icaviewer",
"^com\\.apple\\.Terminal$",
"^com\\.googlecode\\.iterm2$",
"^co\\.zeit\\.hyperterm$",
"^co\\.zeit\\.hyper$",
"^io\\.alacritty$",
"^org\\.alacritty$",
"^net\\.kovidgoyal\\.kitty$",
"^com\\.mitchellh\\.ghostty$",
"^org\\.vim\\.",
"^com\\.qvacua\\.VimR$",
"^com\\.vmware\\.fusion$",
"^com\\.vmware\\.horizon$",
"^com\\.vmware\\.view$",
"^com\\.parallels\\.desktop$",
"^com\\.parallels\\.vm$",
"^com\\.parallels\\.desktop\\.console$",
"^org\\.virtualbox\\.app\\.VirtualBoxVM$",
"^com\\.citrix\\.XenAppViewer$",
"^com\\.vmware\\.proxyApp\\.",
"^com\\.parallels\\.winapp\\.",
"^com\\.utmapp\\.UTM$",
"^org\\.x\\.X11$",
"^com\\.apple\\.x11$",
"^org\\.macosforge\\.xquartz\\.X11$",
"^org\\.macports\\.X11$",
"^com\\.sublimetext\\.",
"^com\\.microsoft\\.VSCode$",
"^com\\.todesktop\\.",
"^dev\\.warp\\.Warp$"
],
"type": "frontmost_application_unless"
}
],
"from": {
"key_code": "n",
"modifiers": {
"mandatory": [
"control"
],
"optional": [
"caps_lock",
"shift",
"option"
]
}
},
"to": [
{
"key_code": "down_arrow"
}
],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"^org\\.gnu\\.Emacs$",
"^org\\.gnu\\.AquamacsEmacs$",
"^org\\.gnu\\.Aquamacs$",
"^org\\.pqrs\\.unknownapp\\.conkeror$",
"^com\\.microsoft\\.rdc$",
"^com\\.microsoft\\.rdc\\.",
"^net\\.sf\\.cord$",
"^com\\.thinomenon\\.RemoteDesktopConnection$",
"^com\\.itap-mobile\\.qmote$",
"^com\\.nulana\\.remotixmac$",
"^com\\.p5sys\\.jump\\.mac\\.viewer$",
"^com\\.p5sys\\.jump\\.mac\\.viewer\\.",
"^com\\.teamviewer\\.TeamViewer$",
"^com\\.vmware\\.horizon$",
"^com\\.2X\\.Client\\.Mac$",
"^com\\.OpenText\\.Exceed-TurboX-Client$",
"^com\\.realvnc\\.vncviewer$",
"^com\\.citrix\\.receiver\\.icaviewer",
"^com\\.apple\\.Terminal$",
"^com\\.googlecode\\.iterm2$",
"^co\\.zeit\\.hyperterm$",
"^co\\.zeit\\.hyper$",
"^io\\.alacritty$",
"^org\\.alacritty$",
"^net\\.kovidgoyal\\.kitty$",
"^com\\.mitchellh\\.ghostty$",
"^org\\.vim\\.",
"^com\\.qvacua\\.VimR$",
"^com\\.vmware\\.fusion$",
"^com\\.vmware\\.horizon$",
"^com\\.vmware\\.view$",
"^com\\.parallels\\.desktop$",
"^com\\.parallels\\.vm$",
"^com\\.parallels\\.desktop\\.console$",
"^org\\.virtualbox\\.app\\.VirtualBoxVM$",
"^com\\.citrix\\.XenAppViewer$",
"^com\\.vmware\\.proxyApp\\.",
"^com\\.parallels\\.winapp\\.",
"^com\\.utmapp\\.UTM$",
"^org\\.x\\.X11$",
"^com\\.apple\\.x11$",
"^org\\.macosforge\\.xquartz\\.X11$",
"^org\\.macports\\.X11$",
"^com\\.sublimetext\\.",
"^com\\.microsoft\\.VSCode$",
"^com\\.todesktop\\.",
"^dev\\.warp\\.Warp$"
],
"type": "frontmost_application_unless"
}
],
"from": {
"key_code": "p",
"modifiers": {
"mandatory": [
"control"
],
"optional": [
"caps_lock",
"shift",
"option"
]
}
},
"to": [
{
"key_code": "up_arrow"
}
],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"^org\\.gnu\\.Emacs$",
"^org\\.gnu\\.AquamacsEmacs$",
"^org\\.gnu\\.Aquamacs$",
"^org\\.pqrs\\.unknownapp\\.conkeror$",
"^com\\.microsoft\\.rdc$",
"^com\\.microsoft\\.rdc\\.",
"^net\\.sf\\.cord$",
"^com\\.thinomenon\\.RemoteDesktopConnection$",
"^com\\.itap-mobile\\.qmote$",
"^com\\.nulana\\.remotixmac$",
"^com\\.p5sys\\.jump\\.mac\\.viewer$",
"^com\\.p5sys\\.jump\\.mac\\.viewer\\.",
"^com\\.teamviewer\\.TeamViewer$",
"^com\\.vmware\\.horizon$",
"^com\\.2X\\.Client\\.Mac$",
"^com\\.OpenText\\.Exceed-TurboX-Client$",
"^com\\.realvnc\\.vncviewer$",
"^com\\.citrix\\.receiver\\.icaviewer",
"^com\\.apple\\.Terminal$",
"^com\\.googlecode\\.iterm2$",
"^co\\.zeit\\.hyperterm$",
"^co\\.zeit\\.hyper$",
"^io\\.alacritty$",
"^org\\.alacritty$",
"^net\\.kovidgoyal\\.kitty$",
"^com\\.mitchellh\\.ghostty$",
"^org\\.vim\\.",
"^com\\.qvacua\\.VimR$",
"^com\\.vmware\\.fusion$",
"^com\\.vmware\\.horizon$",
"^com\\.vmware\\.view$",
"^com\\.parallels\\.desktop$",
"^com\\.parallels\\.vm$",
"^com\\.parallels\\.desktop\\.console$",
"^org\\.virtualbox\\.app\\.VirtualBoxVM$",
"^com\\.citrix\\.XenAppViewer$",
"^com\\.vmware\\.proxyApp\\.",
"^com\\.parallels\\.winapp\\.",
"^com\\.utmapp\\.UTM$",
"^org\\.x\\.X11$",
"^com\\.apple\\.x11$",
"^org\\.macosforge\\.xquartz\\.X11$",
"^org\\.macports\\.X11$",
"^com\\.sublimetext\\.",
"^com\\.microsoft\\.VSCode$",
"^com\\.todesktop\\.",
"^dev\\.warp\\.Warp$"
],
"type": "frontmost_application_unless"
}
],
"from": {
"key_code": "v",
"modifiers": {
"mandatory": [
"control"
],
"optional": [
"caps_lock",
"shift"
]
}
},
"to": [
{
"key_code": "page_down"
}
],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"^com\\.microsoft\\.Excel$",
"^com\\.microsoft\\.Powerpoint$",
"^com\\.microsoft\\.Word$"
],
"type": "frontmost_application_if"
}
],
"from": {
"key_code": "a",
"modifiers": {
"mandatory": [
"control"
],
"optional": [
"caps_lock",
"shift"
]
}
},
"to": [
{
"key_code": "home"
}
],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"^com\\.microsoft\\.Excel$",
"^com\\.microsoft\\.Powerpoint$",
"^com\\.microsoft\\.Word$"
],
"type": "frontmost_application_if"
}
],
"from": {
"key_code": "e",
"modifiers": {
"mandatory": [
"control"
],
"optional": [
"caps_lock",
"shift"
]
}
},
"to": [
{
"key_code": "end"
}
],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"^com\\.microsoft\\.Excel$",
"^com\\.microsoft\\.Powerpoint$",
"^com\\.microsoft\\.Word$"
],
"type": "frontmost_application_if"
}
],
"from": {
"key_code": "k",
"modifiers": {
"mandatory": [
"control"
],
"optional": [
"caps_lock",
"shift"
]
}
},
"to": [
{
"key_code": "end",
"modifiers": [
"left_shift"
]
},
{
"key_code": "delete_forward"
}
],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"^org\\.eclipse\\.platform\\.ide$"
],
"type": "frontmost_application_if"
}
],
"from": {
"key_code": "a",
"modifiers": {
"mandatory": [
"control"
],
"optional": [
"caps_lock",
"shift"
]
}
},
"to": [
{
"key_code": "left_arrow",
"modifiers": [
"left_command"
]
}
],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"^org\\.eclipse\\.platform\\.ide$"
],
"type": "frontmost_application_if"
}
],
"from": {
"key_code": "e",
"modifiers": {
"mandatory": [
"control"
],
"optional": [
"caps_lock",
"shift"
]
}
},
"to": [
{
"key_code": "right_arrow",
"modifiers": [
"left_command"
]
}
],
"type": "basic"
}
]
}

View File

@@ -48,7 +48,8 @@
"^org\\.macosforge\\.xquartz\\.X11$",
"^org\\.macports\\.X11$",
"^com\\.sublimetext\\.",
"^com\\.microsoft\\.VSCode$"
"^com\\.microsoft\\.VSCode$",
"^com\\.todesktop\\."
],
"type": "frontmost_application_unless"
}

View File

@@ -0,0 +1,280 @@
{
"description": "Emacs key bindings [option+keys] (rev 5) [custom]",
"manipulators": [
{
"conditions": [
{
"bundle_identifiers": [
"^org\\.gnu\\.Emacs$",
"^org\\.gnu\\.AquamacsEmacs$",
"^org\\.gnu\\.Aquamacs$",
"^org\\.pqrs\\.unknownapp\\.conkeror$",
"^com\\.microsoft\\.rdc$",
"^com\\.microsoft\\.rdc\\.",
"^net\\.sf\\.cord$",
"^com\\.thinomenon\\.RemoteDesktopConnection$",
"^com\\.itap-mobile\\.qmote$",
"^com\\.nulana\\.remotixmac$",
"^com\\.p5sys\\.jump\\.mac\\.viewer$",
"^com\\.p5sys\\.jump\\.mac\\.viewer\\.",
"^com\\.teamviewer\\.TeamViewer$",
"^com\\.vmware\\.horizon$",
"^com\\.2X\\.Client\\.Mac$",
"^com\\.OpenText\\.Exceed-TurboX-Client$",
"^com\\.realvnc\\.vncviewer$",
"^com\\.citrix\\.receiver\\.icaviewer",
"^com\\.apple\\.Terminal$",
"^com\\.googlecode\\.iterm2$",
"^co\\.zeit\\.hyperterm$",
"^co\\.zeit\\.hyper$",
"^io\\.alacritty$",
"^org\\.alacritty$",
"^net\\.kovidgoyal\\.kitty$",
"^com\\.mitchellh\\.ghostty$",
"^org\\.vim\\.",
"^com\\.qvacua\\.VimR$",
"^com\\.vmware\\.fusion$",
"^com\\.vmware\\.horizon$",
"^com\\.vmware\\.view$",
"^com\\.parallels\\.desktop$",
"^com\\.parallels\\.vm$",
"^com\\.parallels\\.desktop\\.console$",
"^org\\.virtualbox\\.app\\.VirtualBoxVM$",
"^com\\.citrix\\.XenAppViewer$",
"^com\\.vmware\\.proxyApp\\.",
"^com\\.parallels\\.winapp\\.",
"^com\\.utmapp\\.UTM$",
"^org\\.x\\.X11$",
"^com\\.apple\\.x11$",
"^org\\.macosforge\\.xquartz\\.X11$",
"^org\\.macports\\.X11$",
"^com\\.sublimetext\\.",
"^com\\.microsoft\\.VSCode$",
"^com\\.todesktop\\.",
"^dev\\.warp\\.Warp$"
],
"type": "frontmost_application_unless"
}
],
"from": {
"key_code": "v",
"modifiers": {
"mandatory": ["option"],
"optional": ["caps_lock", "shift"]
}
},
"to": [{ "key_code": "page_up" }],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"^org\\.gnu\\.Emacs$",
"^org\\.gnu\\.AquamacsEmacs$",
"^org\\.gnu\\.Aquamacs$",
"^org\\.pqrs\\.unknownapp\\.conkeror$",
"^com\\.microsoft\\.rdc$",
"^com\\.microsoft\\.rdc\\.",
"^net\\.sf\\.cord$",
"^com\\.thinomenon\\.RemoteDesktopConnection$",
"^com\\.itap-mobile\\.qmote$",
"^com\\.nulana\\.remotixmac$",
"^com\\.p5sys\\.jump\\.mac\\.viewer$",
"^com\\.p5sys\\.jump\\.mac\\.viewer\\.",
"^com\\.teamviewer\\.TeamViewer$",
"^com\\.vmware\\.horizon$",
"^com\\.2X\\.Client\\.Mac$",
"^com\\.OpenText\\.Exceed-TurboX-Client$",
"^com\\.realvnc\\.vncviewer$",
"^com\\.citrix\\.receiver\\.icaviewer",
"^com\\.apple\\.Terminal$",
"^com\\.googlecode\\.iterm2$",
"^co\\.zeit\\.hyperterm$",
"^co\\.zeit\\.hyper$",
"^io\\.alacritty$",
"^org\\.alacritty$",
"^net\\.kovidgoyal\\.kitty$",
"^com\\.mitchellh\\.ghostty$",
"^org\\.vim\\.",
"^com\\.qvacua\\.VimR$",
"^com\\.vmware\\.fusion$",
"^com\\.vmware\\.horizon$",
"^com\\.vmware\\.view$",
"^com\\.parallels\\.desktop$",
"^com\\.parallels\\.vm$",
"^com\\.parallels\\.desktop\\.console$",
"^org\\.virtualbox\\.app\\.VirtualBoxVM$",
"^com\\.citrix\\.XenAppViewer$",
"^com\\.vmware\\.proxyApp\\.",
"^com\\.parallels\\.winapp\\.",
"^com\\.utmapp\\.UTM$",
"^org\\.x\\.X11$",
"^com\\.apple\\.x11$",
"^org\\.macosforge\\.xquartz\\.X11$",
"^org\\.macports\\.X11$",
"^com\\.sublimetext\\.",
"^com\\.microsoft\\.VSCode$",
"^com\\.todesktop\\.",
"^dev\\.warp\\.Warp$"
],
"type": "frontmost_application_unless"
}
],
"from": {
"key_code": "b",
"modifiers": {
"mandatory": ["option"],
"optional": ["caps_lock", "shift"]
}
},
"to": [
{
"key_code": "left_arrow",
"modifiers": ["left_option"]
}
],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"^org\\.gnu\\.Emacs$",
"^org\\.gnu\\.AquamacsEmacs$",
"^org\\.gnu\\.Aquamacs$",
"^org\\.pqrs\\.unknownapp\\.conkeror$",
"^com\\.microsoft\\.rdc$",
"^com\\.microsoft\\.rdc\\.",
"^net\\.sf\\.cord$",
"^com\\.thinomenon\\.RemoteDesktopConnection$",
"^com\\.itap-mobile\\.qmote$",
"^com\\.nulana\\.remotixmac$",
"^com\\.p5sys\\.jump\\.mac\\.viewer$",
"^com\\.p5sys\\.jump\\.mac\\.viewer\\.",
"^com\\.teamviewer\\.TeamViewer$",
"^com\\.vmware\\.horizon$",
"^com\\.2X\\.Client\\.Mac$",
"^com\\.OpenText\\.Exceed-TurboX-Client$",
"^com\\.realvnc\\.vncviewer$",
"^com\\.citrix\\.receiver\\.icaviewer",
"^com\\.apple\\.Terminal$",
"^com\\.googlecode\\.iterm2$",
"^co\\.zeit\\.hyperterm$",
"^co\\.zeit\\.hyper$",
"^io\\.alacritty$",
"^org\\.alacritty$",
"^net\\.kovidgoyal\\.kitty$",
"^com\\.mitchellh\\.ghostty$",
"^org\\.vim\\.",
"^com\\.qvacua\\.VimR$",
"^com\\.vmware\\.fusion$",
"^com\\.vmware\\.horizon$",
"^com\\.vmware\\.view$",
"^com\\.parallels\\.desktop$",
"^com\\.parallels\\.vm$",
"^com\\.parallels\\.desktop\\.console$",
"^org\\.virtualbox\\.app\\.VirtualBoxVM$",
"^com\\.citrix\\.XenAppViewer$",
"^com\\.vmware\\.proxyApp\\.",
"^com\\.parallels\\.winapp\\.",
"^com\\.utmapp\\.UTM$",
"^org\\.x\\.X11$",
"^com\\.apple\\.x11$",
"^org\\.macosforge\\.xquartz\\.X11$",
"^org\\.macports\\.X11$",
"^com\\.sublimetext\\.",
"^com\\.microsoft\\.VSCode$",
"^com\\.todesktop\\.",
"^dev\\.warp\\.Warp$"
],
"type": "frontmost_application_unless"
}
],
"from": {
"key_code": "f",
"modifiers": {
"mandatory": ["option"],
"optional": ["caps_lock", "shift"]
}
},
"to": [
{
"key_code": "right_arrow",
"modifiers": ["left_option"]
}
],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"^org\\.gnu\\.Emacs$",
"^org\\.gnu\\.AquamacsEmacs$",
"^org\\.gnu\\.Aquamacs$",
"^org\\.pqrs\\.unknownapp\\.conkeror$",
"^com\\.microsoft\\.rdc$",
"^com\\.microsoft\\.rdc\\.",
"^net\\.sf\\.cord$",
"^com\\.thinomenon\\.RemoteDesktopConnection$",
"^com\\.itap-mobile\\.qmote$",
"^com\\.nulana\\.remotixmac$",
"^com\\.p5sys\\.jump\\.mac\\.viewer$",
"^com\\.p5sys\\.jump\\.mac\\.viewer\\.",
"^com\\.teamviewer\\.TeamViewer$",
"^com\\.vmware\\.horizon$",
"^com\\.2X\\.Client\\.Mac$",
"^com\\.OpenText\\.Exceed-TurboX-Client$",
"^com\\.realvnc\\.vncviewer$",
"^com\\.citrix\\.receiver\\.icaviewer",
"^com\\.apple\\.Terminal$",
"^com\\.googlecode\\.iterm2$",
"^co\\.zeit\\.hyperterm$",
"^co\\.zeit\\.hyper$",
"^io\\.alacritty$",
"^org\\.alacritty$",
"^net\\.kovidgoyal\\.kitty$",
"^com\\.mitchellh\\.ghostty$",
"^org\\.vim\\.",
"^com\\.qvacua\\.VimR$",
"^com\\.vmware\\.fusion$",
"^com\\.vmware\\.horizon$",
"^com\\.vmware\\.view$",
"^com\\.parallels\\.desktop$",
"^com\\.parallels\\.vm$",
"^com\\.parallels\\.desktop\\.console$",
"^org\\.virtualbox\\.app\\.VirtualBoxVM$",
"^com\\.citrix\\.XenAppViewer$",
"^com\\.vmware\\.proxyApp\\.",
"^com\\.parallels\\.winapp\\.",
"^com\\.utmapp\\.UTM$",
"^org\\.x\\.X11$",
"^com\\.apple\\.x11$",
"^org\\.macosforge\\.xquartz\\.X11$",
"^org\\.macports\\.X11$",
"^com\\.sublimetext\\.",
"^com\\.microsoft\\.VSCode$",
"^com\\.todesktop\\.",
"^dev\\.warp\\.Warp$"
],
"type": "frontmost_application_unless"
}
],
"from": {
"key_code": "d",
"modifiers": {
"mandatory": ["option"],
"optional": ["caps_lock"]
}
},
"to": [
{
"key_code": "delete_forward",
"modifiers": ["left_option"]
}
],
"type": "basic"
}
]
}

View File

@@ -0,0 +1,71 @@
{
"description": "VSCode alt keybindings workaround",
"manipulators": [
{
"conditions": [
{
"bundle_identifiers": [
"^com\\.microsoft\\.VSCode",
"^com\\.todesktop\\."
],
"type": "frontmost_application_if"
}
],
"from": {
"key_code": "i",
"modifiers": {
"mandatory": [
"option"
],
"optional": [
"caps_lock",
"shift"
]
}
},
"to": [
{
"key_code": "up_arrow",
"modifiers": [
"left_option",
"left_command"
]
}
],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"^com\\.microsoft\\.VSCode",
"^com\\.todesktop\\."
],
"type": "frontmost_application_if"
}
],
"from": {
"key_code": "n",
"modifiers": {
"mandatory": [
"option"
],
"optional": [
"caps_lock",
"shift"
]
}
},
"to": [
{
"key_code": "down_arrow",
"modifiers": [
"left_option",
"left_command"
]
}
],
"type": "basic"
}
]
}