需满足操作:
Command | Description |
---|---|
h | left (also: CTRL-H, BS, or Left key) |
l | right (also: Space or Right key) |
0 | to first character in the line (also: Home key) |
^ | to first non-blank character in the line |
$ | to the last character in the line (N-1 lines lower) (also: End key) |
gm | to middle of the screen line |
| | to column N (default: 1) |
f{char} | to the Nth occurrence of {char} to the right |
k | up N lines (also: CTRL-P and Up) |
j | down N lines (also: CTRL-J, CTRL-N, NL, and Down) |
- | up N lines, on the first non-blank character |
+ | down N lines, on the first non-blank character (also: CTRL-M and CR) |
_ | down N-1 lines, on the first non-blank character |
G | goto line N (default: last line), on the first non-blank character |
gg | goto line N (default: first line), on the first non-blank character |
Command | Description |
---|---|
w | N words forward |
W | N blank-separated WORDs forward |
e | N words forward to the end of the Nth word |
E | N words forward to the end of the Nth blank-separated WORD |
b | N words backward |
B | N blank-separated WORDs backward |
) | N sentences forward |
( | N sentences backward |
} | N paragraphs forward |
{ | N paragraphs backward |
进入 insert mode 后就和之前的模式一样,快捷键有些是和原理的 vscode 一致,有些不一致。
Command | Description |
---|---|
v | start highlighting characters or stop highlighting |
V | start highlighting linewise or stop highlighting |
CTRL-V | start highlighting blockwise or stop highlighting |
o | exchange cursor position with start of highlighting |
Command | Description |
---|---|
x | delete N characters under and after the cursor |
Del | delete N characters under and after the cursor |
X | delete N characters before the cursor |
d{motion} | delete the text that is moved over with {motion} |
{visual}d | delete the highlighted text |
dd | delete N lines |
D | delete to the end of the line (and N-1 more lines) |
(change = delete text and enter Insert mode) | |
c{motion} | change the text that is moved over with {motion} |
{visual}c | change the highlighted text |
cc | change N lines |
S | change N lines |
C | change to the end of the line (and N-1 more lines) |
s | hhchange N characters |
Command | Description |
---|---|
"{char} | use register {char} for the next delete, yank, or put |
"* | use register * to access system clipboard |
:reg | show the contents of all registers |
:reg | {arg} show the contents of registers mentioned in {arg} |
y{motion} | yank the text moved over with {motion} into a register |
{visual}y | yank the highlighted text into a register |
yy | yank N lines into a register |
Y | yank N lines into a register |
p | put a register after the cursor position (N times) |
P | put a register before the cursor position (N times) |
]p | like p, but adjust indent to current line |
[p | like P, but adjust indent to current line |
gp | like p, but leave cursor after the new text |
gP | like P, but leave cursor after the new text |
Command | Description |
---|---|
a | append text after the cursor (N times) |
A | append text at the end of the line (N times) |
i | insert text before the cursor (N times) (also: Insert) |
I | insert text before the first non-blank in the line (N times) |
gI | insert text in column 1 (N times) |
gi | insert at the end of the last change |
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) |
Command | Description |
---|---|
/{pattern}[/[offset]] | search forward for the Nth occurrence of {pattern} Currently we only support JavaScript Regex but not Vim’s in-house Regex engine. |
?{pattern}[?[offset]] | search backward for the Nth occurrence of {pattern} Currently we only support JavaScript Regex but not Vim’s in-house Regex engine. |
/ | repeat last search, in the forward direction {count} is not supported. |
? | repeat last search, in the backward direction {count} is not supported. |
n | repeat last search |
N | repeat last search, in opposite direction |
复制行
insert mode
alt + shift up/down
删除行
dd
移动行
insert mode
alt + up/down
CRTL +D选中目标
shift +a/i 防止 curcor 即可编辑全部目标
Command | Description |
---|---|
CTRL-E | window N lines downwards (default: 1) |
CTRL-D | window N lines Downwards (default: 1/2 window) |
CTRL-Y | window N lines upwards (default: 1) |
CTRL-U | window N lines Upwards (default: 1/2 window) |
in Visual block mode:
Command | Description |
---|---|
I | insert the same text in front of all the selected lines |
A | append the same text after all the selected lines |
normal mode
alt + command + up / down
then i or a
command + /
CTRL + TAB
CTRL + 12345
参考:https://github.com/VSCodeVim/Vim/blob/HEAD/ROADMAP.md