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

相关推荐
tan180°8 小时前
MySQL表的操作(3)
linux·数据库·c++·vscode·后端·mysql
万千思绪12 小时前
【PyCharm 2025.1.2配置debug】
ide·python·pycharm
我在看世界13 小时前
家里vscode连公司内网vscede
vscode·ssh
不想迷路的小男孩16 小时前
Android Studio 中Palette跟Component Tree面板消失怎么恢复正常
android·ide·android studio
AlickLbc16 小时前
在phpstudy环境下配置搭建XDEBUG配合PHPSTORM的调试环境
ide·phpstorm
悠悠小茉莉16 小时前
Win11 安装 Visual Studio(保姆教程 - 更新至2025.07)
c++·ide·vscode·python·visualstudio·visual studio
SZ17011023117 小时前
华为云 银河麒麟 vscode远程连接
ide·vscode·华为云
yanjiee18 小时前
需要scl来指定编译器的clangd+cmake在vscode/cursor开发环境下的配置
ide·vscode·编辑器
Waltt_Qiope21 小时前
关于使用cursor tunnel链接vscode(避免1006 issue的做法)
ide·vscode·issue
Charlene Fung1 天前
vs code远程自动登录服务器,无需手动输入密码的终极方案(windows版)
运维·服务器·vscode·ssh