Vim/README.md

116 lines
3.7 KiB
Markdown
Raw Normal View History

[![Build Status](https://travis-ci.org/VSCodeVim/Vim.svg?branch=master)](https://travis-ci.org/VSCodeVim/Vim) [![Slack Status](https://vscodevim-slackin.azurewebsites.net/badge.svg)](https://vscodevim-slackin.azurewebsites.net)
2016-01-07 02:59:32 +03:00
# Vim
2016-07-04 11:48:04 +03:00
VSCodeVim is a [Visual Studio Code](https://code.visualstudio.com/) extension that provides Vim keybindings within Visual Studio Code.
2016-06-23 11:53:28 +03:00
2016-08-03 09:47:10 +03:00
Please **[report missing or buggy features on GitHub](https://github.com/VSCodeVim/Vim/issues)**.
2016-06-23 11:53:28 +03:00
2016-07-19 20:56:46 +03:00
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. :wink:
We're super friendly people if you want to drop by and talk to us on our [Slack channel](https://vscodevim-slackin.azurewebsites.net)!
2015-11-18 23:00:58 +03:00
2015-11-29 13:37:35 +03:00
![Screenshot](images/screen.png)
2015-11-18 23:00:58 +03:00
2016-08-03 09:47:10 +03:00
## Features We Support
2016-07-07 09:59:05 +03:00
2016-08-09 13:16:42 +03:00
* All modes (including visual block mode!)
2016-07-08 04:03:06 +03:00
* Most typical commands, including command combinations like `c3w`, `daw`, `2dd`, etc. (Check the [roadmap](ROADMAP.md) for details.)
2016-07-07 10:08:37 +03:00
* Command remapping (jj to esc)
2016-07-07 09:59:05 +03:00
* Repeating actions with `.`
2016-07-07 10:09:14 +03:00
* Incremental search with `/` and `?` that works like Vim (doesn't just open the search box!)
2016-07-07 09:59:05 +03:00
* Correct undo/redo state
* Marks
2016-08-11 19:24:56 +03:00
* Vim Options
2016-07-07 09:59:05 +03:00
2016-07-07 10:42:42 +03:00
## Roadmap
See our [Github Milestone page](https://github.com/VSCodeVim/Vim/milestones) 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`
2016-07-04 20:05:53 +03:00
## F.A.Q.
2016-07-19 12:32:01 +03:00
#### `j`, `k` and others don't repeat when I hold them down.
2016-07-14 08:28:25 +03:00
On OS X, run the following command:
2016-07-14 08:28:25 +03:00
`defaults write com.microsoft.VSCode ApplePressAndHoldEnabled -bool false`
2016-07-14 08:28:25 +03:00
2016-08-03 09:47:10 +03:00
#### How can I bind `jj` to `<escape>`?
2016-07-04 20:05:53 +03:00
1. Add the following to `settings.json` (open the Command Pallete and search for "User Settings"):
2016-08-03 09:47:10 +03:00
2016-07-04 20:06:25 +03:00
```
"vim.insertModeKeyBindings": [
{
"before": ["j", "j"],
2016-08-03 09:47:10 +03:00
"after": ["<escape>"]
2016-07-04 20:06:25 +03:00
}
]
```
2016-07-04 20:05:53 +03:00
2016-08-03 09:47:10 +03:00
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:
2016-07-04 20:05:53 +03:00
2016-07-04 20:06:25 +03:00
```
"vim.otherModesKeyBindings": [
{
"before": ["j", "j"],
2016-08-03 09:47:10 +03:00
"after": ["<escape>"]
2016-07-04 20:06:25 +03:00
}
]
2016-07-04 20:05:53 +03:00
```
2016-07-19 12:32:01 +03:00
Be sure to restart VSCode after making these changes.
2016-08-03 09:47:10 +03:00
#### How can I enable `ctrl-c` as an alternative to `<escape>`?
2016-07-14 09:57:42 +03:00
Put the following in your `settings.json`:
``` "vim.useCtrlKeys": true```
2016-07-19 12:32:01 +03:00
and restart VSCode.
2016-07-04 20:05:53 +03:00
#### How can I enable `ctrl-f`?
Put the following in your `settings.json`:
``` "vim.useCtrlKeys": true```
and restart VSCode.
2016-08-09 13:16:42 +03:00
#### How can I enable visual block mode with `ctrl-v`?
Put the following in your `settings.json`:
``` "vim.useCtrlKeys": true```
and restart VSCode.
2016-08-11 19:24:56 +03:00
#### Vim option override sequence.
The way we load Vim options is slightly different from native Vim as there is some overlap between Code and Vim. The option loading sequence is as below.
1. `:set {option}` on the fly
2. [TODO] .vimrc.
2. `vim.{option}` from user settings or workspace settings.
3. VS Code configuration
4. VSCodeVim flavored Vim option default values
2016-01-03 11:31:33 +03:00
## Contributing
2016-07-08 04:03:48 +03:00
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).
2016-06-23 12:21:54 +03:00
2016-07-04 11:48:04 +03:00
For a quick tutorial on how to get started, see our [contributing guide](/.github/CONTRIBUTING.md).
2016-08-09 21:26:06 +03:00
## Changelog
Please see our [list of recent releases and features added.](https://github.com/VSCodeVim/Vim/releases)
2015-11-18 23:00:58 +03:00
## License
2015-11-19 21:22:17 +03:00
2016-07-04 11:48:04 +03:00
MIT, please see [License](LICENSE) for more information.