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

相关推荐
开发者联盟league17 小时前
vscode接入deepseek
vscode·deepseek
小小放舟、19 小时前
VS Code Code Runner 中文乱码修复与 IDEA 风格输出配置
vscode·python·code runner
开发者联盟league20 小时前
vscode接入deepseek实现inline suggestions
vscode·编辑器
love530love2 天前
将 ChatCut MCP 插件从 Codex 桌面应用移植到 WorkBuddy —— 完整适配实录
ide·人工智能·windows·视频剪辑·ai agent
小李不困还能学2 天前
PyCharm下载安装与配置教程
ide·python·pycharm
知福致福2 天前
vscode连接远程服务器登录codex插件一直卡在gpt图标页,不跳转浏览器登录
服务器·vscode·gpt
A小调的码农2 天前
OPENOCD+MSYS+VSCODE:从“灯不亮“到“终于亮了“
ide·vscode·stm32·单片机·编辑器
AI的探索之旅2 天前
让 Claude Code 直接操刀画原理图和 PCB:VSCode 插件接外部 API 全流程
linux·ide·vscode·嵌入式硬件·编辑器
hkj88082 天前
vscode提交gitee远程仓库出现Permission denied (publickey)解决方法
ide·vscode·gitee
女神下凡2 天前
WorkBuddy、TraeWork、QWork 完整区别对比
ide·人工智能·笔记