Skip to content

Frequently Asked Questions

Jason Fields edited this page May 23, 2025 · 1 revision

📚 F.A.Q.

  • None of the native Visual Studio Code ctrl (e.g. ctrl+f, ctrl+v) commands work

    Set the useCtrlKeys setting to false.

  • Moving j/k over folds opens up the folds

    Try setting vim.foldfix to true. This is a hack; it works fine, but there are side effects (see issue#22276).

  • Key repeat doesn't work

    Are you on a Mac? Did you go through our mac-setup instructions?

  • There are annoying intellisense/notifications/popups that I can't close with <esc>! Or I'm in a snippet and I want to close intellisense

    Press shift+<esc> to close all of those boxes.

  • How can I use the commandline when in Zen mode or when the status bar is disabled?

    This extension exposes a remappable command to show a VS Code style quick-pick version of the commandline, with more limited functionality. This can be remapped as follows in VS Code's keybindings.json settings file.

    {
      "key": "shift+;",
      "command": "vim.showQuickpickCmdLine",
      "when": "editorTextFocus && vim.mode != 'Insert'"
    }

    Or for Zen mode only:

    {
      "key": "shift+;",
      "command": "vim.showQuickpickCmdLine",
      "when": "inZenMode && vim.mode != 'Insert'"
    }
  • How can I move the cursor by each display line with word wrapping?

    If you have word wrap on and would like the cursor to enter each wrapped line when using j, k, or , set the following in VS Code's keybindings.json settings file.

    {
      "key": "up",
      "command": "cursorUp",
      "when": "editorTextFocus && vim.active && !inDebugRepl && !suggestWidgetMultipleSuggestions && !suggestWidgetVisible"
    },
    {
      "key": "down",
      "command": "cursorDown",
      "when": "editorTextFocus && vim.active && !inDebugRepl && !suggestWidgetMultipleSuggestions && !suggestWidgetVisible"
    },
    {
      "key": "k",
      "command": "cursorUp",
      "when": "editorTextFocus && vim.active && !inDebugRepl && vim.mode == 'Normal' && !suggestWidgetMultipleSuggestions && !suggestWidgetVisible"
    },
    {
      "key": "j",
      "command": "cursorDown",
      "when": "editorTextFocus && vim.active && !inDebugRepl && vim.mode == 'Normal' && !suggestWidgetMultipleSuggestions && !suggestWidgetVisible"
    }

    Caveats: This solution restores the default VS Code behavior for the j and k keys, so motions like 10j will not work. If you need these motions to work, other, less performant options exist.

  • I've swapped Escape and Caps Lock with setxkbmap and VSCodeVim isn't respecting the swap

    This is a known issue in VS Code, as a workaround you can set "keyboard.dispatch": "keyCode" and restart VS Code.

  • VSCodeVim is too slow!

    You can try adding the following setting, and reload/restart VSCode:

    "extensions.experimental.affinity": {
      "vscodevim.vim": 1
    }

    Caveats: One issue with using the affinity setting is that each time you update your settings file, the Vim plugin will reload, which can take a few seconds.

Clone this wiki locally