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