Skip to content

Instantly share code, notes, and snippets.

@rafa-thayto
Last active February 5, 2026 00:39
Show Gist options
  • Select an option

  • Save rafa-thayto/c26c656f1b054dc454cb47f2ccd68de4 to your computer and use it in GitHub Desktop.

Select an option

Save rafa-thayto/c26c656f1b054dc454cb47f2ccd68de4 to your computer and use it in GitHub Desktop.
My Cursor/VSCode/Windsurf settings with VIM
// Place your key bindings in this file to override the defaults
[
{
"key": "cmd+i",
"command": "composerMode.agent"
},
{
"key": "y",
"command": "filesExplorer.copy",
"when": "explorerViewletFocus && !inputFocus"
},
{
"key": "p",
"command": "filesExplorer.paste",
"when": "explorerViewletFocus && !inputFocus"
},
{
"key": "x",
"command": "filesExplorer.cut",
"when": "explorerViewletFocus && !inputFocus"
},
{
"key": "a",
"command": "explorer.newFile",
"when": "explorerViewletFocus && !inputFocus"
},
{
"key": "shift+a",
"command": "explorer.newFolder",
"when": "explorerViewletFocus && !inputFocus"
},
{
"key": "d",
"command": "deleteFile",
"when": "explorerViewletFocus && !inputFocus"
},
{
"key": "r",
"command": "renameFile",
"when": "explorerViewletFocus && !inputFocus"
}
]
{
"window.commandCenter": true,
"workbench.colorTheme": "Catppuccin Frappé",
"vim.neovimConfigPath": "~/.config/nvim/init.lua",
"vim.leader": "<space>",
"vim.useCtrlKeys": true,
"workbench.iconTheme": "material-icon-theme",
"editor.formatOnSave": true,
"vim.useSystemClipboard": true,
"vim.insertModeKeyBindings": [
{
"before": ["<C-p>"],
"commands": ["workbench.action.quickOpen"]
}
],
"vim.normalModeKeyBindings": [
{
"before": ["<S-k>"],
"commands": ["editor.action.showHover"]
}
],
"vim.normalModeKeyBindingsNonRecursive": [
{
"before": ["<S-k>"],
"commands": ["editor.action.showHover"]
},
{
"before": ["g", "K"],
"commands": ["editor.action.showDefinitionPreviewHover"]
},
{
"before": ["<leader>", "e"],
"commands": ["workbench.action.toggleSidebarVisibility"]
},
{
"before": ["<leader>", "E"],
"commands": ["workbench.files.action.focusFilesExplorer"]
},
// Global search (find in files)
{
"before": ["<leader>", "s", "g"],
"commands": ["workbench.action.findInFiles"]
},
// Current file search
{
"before": ["<leader>", "s", "f"],
"commands": ["actions.find"]
},
// Search and replace in files
{
"before": ["<leader>", "s", "r"],
"commands": ["workbench.action.replaceInFiles"]
},
// Focus search results
{
"before": ["<leader>", "s", "s"],
"commands": ["search.action.focusSearchList"]
},
// Ctrl + D + center
{
"before": ["<C-d>"],
"after": ["<C-d>", "z", "z"]
},
// Ctrl + U + center
{
"before": ["<C-u>"],
"after": ["<C-u>", "z", "z"]
},
// Next search result + center
{
"before": ["n"],
"after": ["n", "z", "z"]
},
// Previous search result + center
{
"before": ["N"],
"after": ["N", "z", "z"]
},
{
"before": ["H"],
"commands": ["workbench.action.previousEditor"]
},
{
"before": ["L"],
"commands": ["workbench.action.nextEditor"]
},
{
"before": ["<leader>", "w"],
"commands": ["workbench.action.files.save"]
},
{
"before": ["<C-p>"],
"commands": ["workbench.action.quickOpen"]
},
// Tab management
{
"before": ["<leader>", "c"],
"commands": ["workbench.action.closeActiveEditor"]
},
{
"before": ["<leader>", "b", "d"],
"commands": ["workbench.action.closeActiveEditor"]
},
{
"before": ["<leader>", "b", "o"],
"commands": ["workbench.action.closeOtherEditors"]
},
// Code actions
{
"before": ["<leader>", "c", "a"],
"commands": ["editor.action.quickFix"]
},
// Source actions
{
"before": ["<leader>", "c", "s"],
"commands": ["editor.action.sourceAction"]
},
// Refactor
{
"before": ["<leader>", "c", "r"],
"commands": ["editor.action.refactor"]
},
// Format document
{
"before": ["<leader>", "c", "f"],
"commands": ["editor.action.formatDocument"]
},
// Organize imports
{
"before": ["<leader>", "c", "o"],
"commands": ["editor.action.organizeImports"]
}
],
"vim.visualModeKeyBindings": [
{
"before": ["g", "r"],
"commands": ["references-view.findReferences"]
},
{
"before": ["J"],
"commands": ["editor.action.moveLinesDownAction"]
},
{
"before": ["K"],
"commands": ["editor.action.moveLinesUpAction"]
},
{
"before": ["<C-p>"],
"commands": ["workbench.action.quickOpen"]
}
],
"vim.visualModeKeyBindingsNonRecursive": [
{
"before": ["J"],
"commands": ["editor.action.moveLinesDownAction"]
},
{
"before": ["K"],
"commands": ["editor.action.moveLinesUpAction"]
}
],
"editor.lineNumbers": "relative",
"editor.defaultFormatter": "esbenp.prettier-vscode",
"material-icon-theme.activeIconPack": "nest"
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment