Vim for Visual Studio Code
Go to file
2016-02-09 00:58:54 -08:00
.vscode Tests: Fixes #15 enabling all tests to be run within Travis 2016-01-02 02:15:41 -08:00
images fix package in order to publish 2015-11-29 02:37:35 -08:00
src Fix word and back-word motions, and fix tests. 2016-02-09 00:58:54 -08:00
test Fix word and back-word motions, and fix tests. 2016-02-09 00:58:54 -08:00
typings scaffold project 2015-11-12 20:51:40 +01:00
.gitignore Add paragraph motions and tests. 2016-01-30 13:09:41 -08:00
.travis.yml Tests: Fixes #15 enabling all tests to be run within Travis 2016-01-02 02:15:41 -08:00
.vscodeignore Tests: Fixes #15 enabling all tests to be run within Travis 2016-01-02 02:15:41 -08:00
appveyor.yml Tests: Fixes #15 enabling all tests to be run within Travis 2016-01-02 02:15:41 -08:00
CONTRIBUTING.md 0.0.7 - update docs 2016-01-03 00:31:33 -08:00
extension.ts Add paragraph motions and tests. 2016-01-30 13:09:41 -08:00
gulpfile.js Cleanup: Add clarifying comments. Add compile to default gulp task 2016-01-06 14:30:06 -08:00
LICENSE Initial commit 2015-11-12 01:02:24 -08:00
package.json 0.0.10 Release 2016-01-31 23:51:14 -08:00
README.md Readme: fix typos 2016-01-06 15:59:32 -08:00
tsconfig.json Tests: Fixes #15 enabling all tests to be run within Travis 2016-01-02 02:15:41 -08:00
tsd.json update lodash tsd to latest 2015-11-26 01:41:36 -08:00
tslint.json Cleanup 2016-01-01 23:02:42 -08:00

Build Status Build status Slack Status

Vim

Vim (aka. VSCodeVim) is a Visual Studio Code extension that enables the power of the Vim keybinding experience within Visual Studio Code.

Screenshot

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

Configure

Adjust configurations through user settings (File -> Preferences -> User Settings).

  • vim.keyboardLayout:
    • Supported Values: en-US (QWERTY) (default), es-ES (QWERTY), de-DE (QWERTZ), da-DK (QWERTY)

Project Status

Check out our release notes for more notes. The tables below are obviously an incomplete list, but show, at a glance, the current commands supported:

Keys in Insert Mode

Status Key Description
Esc end Insert mode, back to Normal mode
Ctrl+[ Command Mode

Writing and Quitting

Status Key Description
: Open command palette
:q Quit current buffer, unless changes have been made. Exit Vim when there are no other non-help buffers
:w Write the current file and exit.

Motions

Left-Right Motions

Status Key Description
h left (also: CTRL-H, , or key)
l right (also: or key)
0 to first character in the line (also: key)
^ to first non-blank character in the line
$ to the last character in the line (N-1 lines lower)
g0 to first character in screen line (differs from "0" when lines wrap)
g^ to first non-blank character in screen line (differs from "^" when lines wrap)
g$ to last character in screen line (differs from "$" when lines wrap)
| to column N (default: 1)
f to the Nth occurrence of to the right
F to the Nth occurrence of to the left
t till before the Nth occurrence of to the right
T till before the Nth occurrence of to the left
; repeat the last "f", "F", "t", or "T" N times
, repeat the last "f", "F", "t", or "T" N times in opposite direction

Up-Down Motions

Status Key Description
k up (also: CTRL-P and )
j down (also: CTRL-J, CTRL-N, , and )
- up, on the first non-blank character
+ down, on the first non-blank character (also: CTRL-M and )
_ down N-1 lines, on the first non-blank character
G goto last line, on the first non-blank character
gg goto frst line, on the firstnon-blank character
% goto line N percentage down in the file. N must be given, otherwise it is the % command.
gk up N screen lines (differs from "k" when line wraps)
gj down N screen lines (differs from "j" when line wraps)

Word Motions

Status Key Description
w words forward
W N blank-separated WORDS forward
e forward to the end of the word
E forward to the end of the Nth blank-separated WORD
b words backward
B N blank-separated WORDS backward
ge backward to the end of the Nth word
gE backward to the end of the Nth blank-separated WORD

Insert Mode Commands

Status Key Description
a append text after the cursor
A append text at the end of the line (N times)
i insert text before the cursor (N times) (also: )
I insert text before the first non-blank in the line (N times)
o open a new line below the current line, append text (N times)
O open a new line above the current line, append text (N times)

Deleting Text

Status Key Description
x delete characters under and after the cursor
delete N characters under and after the cursor
X delete N characters before the cursor
dw, db d{motion} delete the text that is moved over with {motion}
{visual}d delete the highlighted text
dd delete N lines
D delete to end-of-line (and N-1 more lines)
J join N-1 lines (delete newlines)
{visual}J join the highlighted lines

Changing Text

Status Key Description
<< move N lines one shiftwidth left
>> move N lines one shiftwidth right

Undo/Redo

Status Key Description
u undo last change
CTRL-R redo last undone change
U restore last changed line

Contributing

This project is maintained by a group of awesome contributors. Thank you! ❤️

License

MIT