ahum / Vim

Vim for Visual Studio Code

Home Page:http://aka.ms/vscodevim

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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<char>                   | to the Nth occurrence of <char> to the right
                | F<char>                   | to the Nth occurrence of <char> to the left
                | t<char>                   | till before the Nth occurrence of <char> to the right
                | T<char>                   | till before the Nth occurrence of <char> 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 <CR>)
                | _                         | 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. matching brace | % | jump to matching brace, C-style comment, C/C++ preprocessor conditional
| gk | up N screen lines (differs from "k" when line wraps) | gj | down N screen lines (differs from "j" when line wraps) | CTRL-F | page down | CTRL-B | page up

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
                   | <Del>                     | delete N characters under and after the cursor

| X | delete N characters before the cursor dw, dW, db, dB, de, dE | 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

Deleting and Inserting

Status Key Description
C Delete from the cursor position to the end of the line and enter insert mode
cw Delete from the cursor position to the end of the word and enter insert mode
cW Delete from the cursor position to the end of the WORD and enter insert mode
ciw Delete word and enter insert mode
caw Delete word, right-side blanks and enter insert mode

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

About

Vim for Visual Studio Code

http://aka.ms/vscodevim

License:MIT License


Languages

Language:TypeScript 98.7%Language:JavaScript 1.3%