需满足操作:
- 上下移动
- 按照 word 移动
- 选中增删改
- 查找字符/变量
- 移动、增加、复制、删除 行
- 选中多个相同的变量/字符
- 屏幕移动
- 增加多个光标
- 快速注释
上下左右移动
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 |
按照word移动
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 一致,有些不一致。
visual mode
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 + /
切换 file
CTRL + TAB
CTRL + 12345