Vim for Visual Studio Code
Go to file
Peng Lyu 6a87d15960 Correct Fold behavior and update roadmap (#524)
* Correct Fold behavior and update roadmap

* Use abstract class

* update markdown table
2016-07-29 00:43:42 -07:00
.github Update PULL_REQUEST_TEMPLATE 2016-07-26 09:24:04 -07:00
.vscode Bump version. 2016-07-19 03:29:51 -06:00
images fix package in order to publish 2015-11-29 02:37:35 -08:00
src Correct Fold behavior and update roadmap (#524) 2016-07-29 00:43:42 -07:00
test Add Y. 2016-07-29 00:37:28 -07:00
typings Remove custom keyboard mapping (fixes #432). Fix duplicate definition errors 2016-07-14 12:38:42 -07:00
.gitignore Check in custom typings; fix for...of loops. 2016-07-12 11:12:23 -07:00
.travis.yml Update version of node that Travis uses 2016-07-24 19:31:21 -06:00
.vscodeignore Tests: Fixes #15 enabling all tests to be run within Travis 2016-01-02 02:15:41 -08:00
extension.ts Implement increment and decrement operators (#515) 2016-07-25 23:30:22 -07:00
gulpfile.js Add test-specific tslint (#464) 2016-07-16 18:09:52 -07:00
LICENSE Initial commit 2015-11-12 01:02:24 -08:00
package.json Version 0.1.4. 2016-07-27 22:38:37 -07:00
README.md Fix instructions for setting key bindings (#499) 2016-07-23 15:03:41 -06:00
ROADMAP.md Correct Fold behavior and update roadmap (#524) 2016-07-29 00:43:42 -07:00
STYLE.md Create styleguide 2016-07-13 12:29:29 -07:00
tsconfig.json Use TypeScript 2.0 and use strictNullChecks. 2016-07-12 00:44:55 -07:00
tslint.json * Fix build error 2016-03-04 00:04:34 -08:00
typings.json Fix typings directory 2016-06-30 13:07:37 -04:00

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 <esc>?

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

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

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

Be sure to restart VSCode after making these changes.

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

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.