vscode vim 快捷键汇总

需满足操作:

  1. 上下移动
  2. 按照 word 移动
  3. 选中增删改
  4. 查找字符/变量
  5. 移动、增加、复制、删除 行
  6. 选中多个相同的变量/字符
  7. 屏幕移动
  8. 增加多个光标
  9. 快速注释

上下左右移动

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

参考:https://github.com/VSCodeVim/Vim/blob/HEAD/ROADMAP.md

相关推荐
BestOrNothing_20151 小时前
Git 中新建学习分支 + 暂存修改 + VSCode 可视化查看改动(超详细教程)
git·vscode·版本控制·开发技巧
FOREVER-Q3 小时前
从开发到部署:Docker 化前端应用全流程指南
ide·docker·webstorm
secondyoung4 小时前
Mermaid流程图高效转换为图片方案
c语言·人工智能·windows·vscode·python·docker·流程图
云和数据.ChenGuang7 小时前
pycharm怎么将背景换成白色
ide·python·pycharm
q***725610 小时前
vscode配置django环境并创建django项目(全图文操作)
vscode·django·sqlite
saber_andlibert10 小时前
【Linux】Shell脚本
运维·chrome·vscode·编辑器·vim·shell
謝堆堆DDD11 小时前
eclipse由只运行java文件到创建web项目
java·ide·eclipse
. . . . .14 小时前
VSCode终极版
ide·vscode·编辑器
饮品爱好者14 小时前
[C#] NO.4 我的第一个项目
vscode·职场和发展·c#·github
我的golang之路果然有问题14 小时前
mac配置 unity+vscode的坑
开发语言·笔记·vscode·macos·unity·游戏引擎