Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>MIVNew to Visual Studio Code? Get it now.
MIV

MIV

Entropy_swe

|
1 install
| (0) | Free
Lightweight modal editing for VS Code inspired by Vim and designed for IDE workflows.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

MIV – Modern Improved Vi

Repository License Support

MIV is a lightweight modal editing extension for VS Code inspired by Vim but designed for modern IDE workflows.

MIV is inspired by Vim's modal editing philosophy but is designed specifically for modern IDE workflows in VS Code.

The goal is not to replicate Vim, but to provide a lightweight modal interface that works naturally with VS Code features such as LSP, refactoring, multi-cursor editing, and extensions.

It focuses on:

  • simple modal editing
  • fast navigation
  • predictable commands
  • minimal configuration

Quick Start

Press ESC to enter NAV mode.

Basic navigation: a left, d right, w up, s down.

Insert mode: i insert, Space insert, ESC return to NAV mode.

Search: /text search forward, \text search backward.

Registers: 2p paste from register 2, v show register contents.

Keyboard Layout

The default MIV keymap is optimized for a Swedish keyboard layout.

Many commands are positioned to be easy to reach on that layout. If you use another keyboard layout you may want to adjust the keybindings.

Customizing Keybindings

VS Code makes it easy to customize shortcuts.

Open File -> Preferences -> Keyboard Shortcuts or press Ctrl+K Ctrl+S. Search for miv and change any keybinding to your preferred layout. You can also edit the keybindings file directly in Preferences -> Open Keyboard Shortcuts (JSON).

Example:

{
  "key": "h",
  "command": "miv.handleKey",
  "args": "LEFT",
  "when": "editorTextFocus && miv.mode == 'NAV'"
}

This maps the Vim-style h key to MIV's left movement command.

Command Reference

The full command reference is available in doc/KEYMAP.md.

Repository

https://github.com/diff3/miv

Development

Run npm run generate-keymap after changing NAV_KEY_BINDINGS in src/config.ts.

Support Development

If you enjoy using MIV and want to support development you can leave a tip here:

https://ko-fi.com/diff3

Thank you for helping keep the project alive.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft