My Experience Using Vim Keybindings In VSCode

https://michaelychen.medium.com/my-experience-using-vim-keybindings-in-vscode-ea6d335aa155

Vim VSCode Settings

A lot of these settings are the ones suggested by the extension’s home page.

"vim.easymotion": true,
  "vim.incsearch": true,
  "vim.useSystemClipboard": true,
  "vim.hlsearch": true,
  "vim.insertModeKeyBindings": [
    {
      "before": ["j", "j"],
      "after": ["<Esc>"]
    }
  ],
  "vim.leader": "<space>",
  "vim.handleKeys": {
    "<C-a>": false,
    "<C-f>": false
  },
  "vim.normalModeKeyBindingsNonRecursive": [
    {
      "before": [":"],
      "commands": ["workbench.action.showCommands"]
    }
  ],
  "vim.visualModeKeyBindingsNonRecursive": [
    {
      "before": [">"],
      "commands": ["editor.action.indentLines"]
    },
    {
      "before": ["<"],
      "commands": ["editor.action.outdentLines"]
    },
    {
      "before": ["p"],
      "after": ["p", "g", "v", "y"]
    }
  ],
  "vim.statusBarColorControl": true,
  "vim.statusBarColors.normal": ["#8FBCBB", "#000"],
  "vim.statusBarColors.insert": ["#BF616A", "#000"],
  "vim.statusBarColors.visual": ["#B48EAD", "#000"],
  "vim.statusBarColors.visualline": ["#B48EAD", "#000"],
  "vim.statusBarColors.visualblock": ["#A3BE8C", "#000"],
  "vim.statusBarColors.replace": "#D08770",
  "vim.statusBarColors.commandlineinprogress": "#007ACC",
  "vim.statusBarColors.searchinprogressmode": "#007ACC",
  "vim.statusBarColors.easymotionmode": "#007ACC",
  "vim.statusBarColors.easymotioninputmode": "#007ACC",
  "vim.statusBarColors.surroundinputmode": "#007ACC",
  "workbench.colorCustomizations": {
    "statusBar.background": "#B48EAD",
    "statusBar.noFolderBackground": "#B48EAD",
    "statusBar.debuggingBackground": "#B48EAD",
    "statusBar.foreground": "#000"
  }

I also binded the autosuggestion navigation button to ctrl + hjkl by pasting this in the keybindings.json file.


{
  "key": "ctrl+j",
  "command": "selectNextSuggestion",
  "when": "suggestWidgetVisible"
},
{
  "key": "ctrl+k",
  "command": "selectPrevSuggestion",
  "when": "suggestWidgetVisible"
},{
  "key": "ctrl+j",
  "command": "workbench.action.quickOpenSelectNext",
  "when": "inQuickOpen"
},
{
  "key": "ctrl+k",
  "command": "workbench.action.quickOpenSelectPrevious",
  "when": "inQuickOpen"
}

Fav Commands

ciw to delete word and switch into insert mode

cit to delete everything between tags and switch into insert mode

ci" or ci' to delete everything inbetween quotes and switch into insert mode

making a change then n to jump to next encounter, then . to repeat change

ctrl + v for visual block mode, v visual mode, V visual line mode

o or O for new line, A insert at end of line, I insert at beginning

o or O for new line, A insert at end of line, I insert at beginning

/pattern searches for similar pattern, n to repeat search, N repeat search opposite direction