* Implement increment and decrement operators This adds support for single or numeric-prefix control+x and control+a. * Add numeric string helper * Unit tests for numericString * Handle octal * Integration test for octal * Guard control-a behind flag * Use a better algorithm * Extract IterateWords to Position * Use destructuring * Handle negatives * Flag it up * Re-add the hacks, even hackier this time * Remove outdated comment |
||
---|---|---|
.github | ||
.vscode | ||
images | ||
src | ||
test | ||
typings | ||
.gitignore | ||
.travis.yml | ||
.vscodeignore | ||
extension.ts | ||
gulpfile.js | ||
LICENSE | ||
package.json | ||
README.md | ||
ROADMAP.md | ||
STYLE.md | ||
tsconfig.json | ||
tslint.json | ||
typings.json |
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!
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
- Within Visual Studio Code, open the command palette (
Ctrl-Shift-P
/Cmd-Shift-P
) - Select
Install Extension
and search for 'vim' or runext 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>
?
-
Add the following to
settings.json
(open the Command Pallete and search for "User Settings"):"vim.insertModeKeyBindings": [ { "before": ["j", "j"], "after": ["<esc>"] } ]
-
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.