Skip to content

jimray/Vim

This branch is 6208 commits behind VSCodeVim/Vim:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

04cb050 · Aug 6, 2016
Aug 6, 2016
Jul 19, 2016
Nov 29, 2015
Aug 6, 2016
Aug 4, 2016
Aug 2, 2016
Aug 5, 2016
Jul 25, 2016
Jan 2, 2016
Nov 12, 2015
Aug 3, 2016
Aug 4, 2016
Jul 13, 2016
Aug 6, 2016
Aug 6, 2016
Aug 3, 2016
Jul 12, 2016
Mar 4, 2016
Aug 2, 2016

Repository files navigation

Build Status Slack Status

Vim

VSCodeVim is a Visual Studio Code extension that provides Vim keybindings within Visual Studio Code.

Please report missing or buggy features on GitHub.

We've added a lot of functionality, but everyone uses Vim in their own special way, so let us know if we're missing your favorite obscure command. 😉

We're super friendly people if you want to drop by and talk to us on our Slack channel!

Screenshot

Features We Support

  • All basic modes
  • Most typical commands, including command combinations like c3w, daw, 2dd, etc. (Check the roadmap for details.)
  • Command remapping (jj to esc)
  • Repeating actions with .
  • Incremental search with / and ? that works like Vim (doesn't just open the search box!)
  • Correct undo/redo state
  • Marks

Roadmap

See our Github Milestone page for an idea of what we plan to implement next.

Install

  1. Within Visual Studio Code, open the command palette (Ctrl-Shift-P / Cmd-Shift-P)
  2. Select Install Extension and search for 'vim' or run ext install vim

F.A.Q.

j, k and others don't repeat when I hold them down.

On OSX, the fix is to run this in the terminal. Be mindful as this is a global setting:

defaults write -g ApplePressAndHoldEnabled -bool false

How can I bind jj to <escape>?

  1. Add the following to settings.json (open the Command Pallete and search for "User Settings"):

       "vim.insertModeKeyBindings": [
            {
                "before": ["j", "j"],
                "after": ["<escape>"]
            }
       ]
    
  2. If you want to press jj in modes which are not Insert Mode and still have it trigger <escape>, do the following as well:

       "vim.otherModesKeyBindings": [
            {
                "before": ["j", "j"],
                "after": ["<escape>"]
            }
       ]
    

Be sure to restart VSCode after making these changes.

#### How can I enable `ctrl-c` as an alternative to `<escape>`?

Put the following in your `settings.json`:

```    "vim.useCtrlKeys": true```

and restart VSCode.

## Contributing

This project is maintained by a group of awesome [contributors](https://github.com/VSCodeVim/Vim/graphs/contributors) and contributions are extremely welcome :heart:. If you are having trouble thinking of how you can help, check out our [roadmap](ROADMAP.md).

For a quick tutorial on how to get started, see our [contributing guide](/.github/CONTRIBUTING.md).

## License

MIT, please see [License](LICENSE) for more information.

About

Vim for Visual Studio Code

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 99.2%
  • JavaScript 0.8%