Skip to content

Instantly share code, notes, and snippets.

@dipta007
Last active November 28, 2025 04:19
Show Gist options
  • Select an option

  • Save dipta007/ded294646d5226ece5883225fed68ff1 to your computer and use it in GitHub Desktop.

Select an option

Save dipta007/ded294646d5226ece5883225fed68ff1 to your computer and use it in GitHub Desktop.
vscode for neovim
// Place your key bindings in this file to override the defaults
[
// navigation
{
"command": "workbench.action.togglePanel",
"key": "cmd-j",
"when": "vim.mode == 'Normal'"
},
{
"command": "workbench.action.createTerminalEditor",
"key": "cmd-shift-j",
"when": "vim.mode == 'Normal'"
},
{
"command": "workbench.action.navigateLeft",
"key": "ctrl-h"
},
{
"command": "workbench.action.navigateRight",
"key": "ctrl-l"
},
{
"command": "workbench.action.navigateUp",
"key": "ctrl-k"
},
{
"command": "workbench.action.navigateDown",
"key": "ctrl-j"
},
{
"command": "workbench.action.toggleSidebarVisibility",
"key": "ctrl-b"
},
{
"command": "composerMode.agent",
"key": "cmd+i"
},
{
"command": "workbench.action.splitEditor",
"key": "s h",
"when": "vim.mode == 'Normal' && editorTextFocus"
},
{
"command": "workbench.action.splitEditorDown",
"key": "s v",
"when": "vim.mode == 'Normal' && editorTextFocus"
},
// tab navigation
{
"key": "cmd-1",
"command": "workbench.action.openEditorAtIndex1"
},
{
"key": "cmd-2",
"command": "workbench.action.openEditorAtIndex2"
},
{
"key": "cmd-3",
"command": "workbench.action.openEditorAtIndex3"
},
{
"key": "cmd-4",
"command": "workbench.action.openEditorAtIndex4"
},
{
"key": "cmd-5",
"command": "workbench.action.openEditorAtIndex5"
},
{
"key": "cmd-6",
"command": "workbench.action.openEditorAtIndex6"
},
{
"key": "cmd-7",
"command": "workbench.action.openEditorAtIndex7"
},
{
"key": "cmd-8",
"command": "workbench.action.openEditorAtIndex8"
},
{
"key": "cmd-9",
"command": "workbench.action.openEditorAtIndex9"
},
// Coding
{
"command": "editor.action.codeAction",
"key": "space c a",
"when": "vim.mode == 'Normal' && editorTextFocus"
},
{
"command": "editor.action.moveLinesUpAction",
"key": "shift-k",
"when": "vim.mode == 'VisualLine' && editorTextFocus"
},
{
"command": "editor.action.moveLinesDownAction",
"key": "shift-j",
"when": "vim.mode == 'VisualLine' && editorTextFocus"
},
{
"command": "editor.action.rename",
"key": "space c r",
"when": "vim.mode == 'Normal' && editorTextFocus"
},
{
"command": "workbench.action.gotoSymbol",
"key": "space c s",
"when": "vim.mode == 'Normal' && editorTextFocus"
},
{
"command": "workbench.action.closeActiveEditor",
"key": "space b d",
"when": "(vim.mode == 'Normal' && editorTextFocus) || !inputFocus"
},
{
"command": "workbench.action.closeOtherEditors",
"key": "space b o",
"when": "(vim.mode == 'Normal' && editorTextFocus) || !inputFocus"
},
{
"command": "workbench.action.quickOpen",
"key": "space space",
"when": "vim.mode == 'Normal' && (editorTextFocus || !inputFocus)"
},
{
"command": "workbench.action.findInFiles",
"key": "space s g",
"when": "vim.mode == 'Normal' && (editorTextFocus || !inputFocus)"
},
{
"args": {
"commands": [
"workbench.view.scm",
"workbench.scm.focus"
]
},
"command": "runCommands",
"key": "space g g",
"when": "vim.mode == 'Normal' && (editorTextFocus || !inputFocus)"
},
// File Explorer
{
"command": "renameFile",
"key": "r",
"when": "filesExplorerFocus && foldersViewVisible && !explorerResourceIsRoot && !explorerResourceReadonly && !inputFocus"
},
{
"command": "filesExplorer.copy",
"key": "c",
"when": "filesExplorerFocus && foldersViewVisible && !explorerResourceIsRoot && !explorerResourceReadonly && !inputFocus"
},
{
"command": "filesExplorer.paste",
"key": "p",
"when": "filesExplorerFocus && foldersViewVisible && !explorerResourceIsRoot && !explorerResourceReadonly && !inputFocus"
},
{
"command": "filesExplorer.cut",
"key": "x",
"when": "filesExplorerFocus && foldersViewVisible && !explorerResourceIsRoot && !explorerResourceReadonly && !inputFocus"
},
{
"command": "deleteFile",
"key": "d",
"when": "filesExplorerFocus && foldersViewVisible && !explorerResourceIsRoot && !explorerResourceReadonly && !inputFocus"
},
{
"command": "explorer.newFile",
"key": "a",
"when": "filesExplorerFocus && foldersViewVisible && !explorerResourceIsRoot && !explorerResourceReadonly && !inputFocus"
},
{
"command": "explorer.openToSide",
"key": "s",
"when": "filesExplorerFocus && foldersViewVisible && !explorerResourceIsRoot && !explorerResourceReadonly && !inputFocus"
},
{
"args": {
"commands": [
"workbench.action.splitEditorDown",
"explorer.openAndPassFocus",
"workbench.action.closeOtherEditors"
]
},
"command": "runCommands",
"key": "v",
"when": "filesExplorerFocus && foldersViewVisible && !explorerResourceIsRoot && !explorerResourceReadonly && !inputFocus"
},
{
"command": "explorer.openAndPassFocus",
"key": "enter",
"when": "filesExplorerFocus && foldersViewVisible && !explorerResourceIsRoot && !explorerResourceIsFolder && !inputFocus"
},
{
"command": "list.toggleExpand",
"key": "enter",
"when": "filesExplorerFocus && foldersViewVisible && !explorerResourceIsRoot && explorerResourceIsFolder && !inputFocus"
},
// {
// "key": "ctrl-y",
// "command": "editor.action.acceptCursorTabSuggestion",
// "when": "cpp.shouldAcceptTab"
// },
// Debug
// {
// "key": "space d a",
// "command": "workbench.action.debug.selectandstart",
// "when": "vim.mode == 'Normal' && (editorTextFocus || !inputFocus) && debuggersAvailable"
// },
// {
// "key": "space d t",
// "command": "workbench.action.debug.stop",
// "when": "vim.mode == 'Normal' && editorTextFocus && inDebugMode && !focusedSessionIsAttached"
// },
// {
// "key": "space d o",
// "command": "workbench.action.debug.stepOver",
// "when": "vim.mode == 'Normal' && (editorTextFocus || !inputFocus) && inDebugMode && debugState == 'stopped'"
// },
// {
// "key": "space d b",
// "command": "editor.debug.action.toggleBreakpoint",
// "when": "vim.mode == 'Normal' && editorTextFocus"
// },
// {
// "key": "space d e",
// "command": "editor.debug.action.showDebugHover",
// "when": "vim.mode == 'Normal' && editorTextFocus && inDebugMode && debugState == 'stopped'"
// },
// {
// "key": "space d c",
// "command": "workbench.action.debug.continue",
// "when": "vim.mode == 'Normal' && (editorTextFocus || !inputFocus) && inDebugMode && debugState == 'stopped'"
// }
]
@dipta007
Copy link
Author

dipta007 commented Nov 3, 2025

settings.json

{
    "extensions.experimental.affinity": {
        "asvetliakov.vscode-neovim": 1
    },
    "editor.fontFamily": "JetBrainsMono Nerd Font",
    "terminal.integrated.fontFamily": "JetBrainsMono Nerd Font, Kalpurush, monospace",
    "editor.lineNumbers": "relative",
    "workbench.colorTheme": "Aura Dark",
    "workbench.iconTheme": "catppuccin-mocha",
    "cursor.cpp.enablePartialAccepts": true,
    "editor.fontLigatures": true,
    "editor.wordWrap": "on",
    "editor.wordWrapColumn": 120,
    "git.autofetch": true,
    "notebook.formatOnSave.enabled": true,
    "ruff.nativeServer": "on",
    "ruff.lineLength": 160,
    "[python]": {
        "editor.defaultFormatter": "charliermarsh.ruff",
        "editor.formatOnSave": true,
        "editor.formatOnType": true
    },
    "workbench.activityBar.orientation": "vertical",
    "explorer.confirmDragAndDrop": false,
    "terminal.integrated.enableMultiLinePasteWarning": false,
    "cursor.composer.usageSummaryDisplay": "always",
}

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