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

相关推荐
shimly12345615 小时前
vscode 很难删除 copilot,如何关闭 copilot 功能?
ide·vscode·copilot
qq_3961534517 小时前
idea + claude code [bate] 初体验
ide·idea
北冥有羽Victoria17 小时前
Django中间件实战:FBV/CBV日志全兼容
数据库·vscode·后端·python·django·sqlite·开源
相思难忘成疾18 小时前
Nginx 子目录多站点配置实验(HTTP/HTTPS 分离部署)
linux·运维·nginx·http·https·vim
iCxhust19 小时前
8086/8088单板机VSCode集中环境开发编译(第二版整理)
ide·vscode·嵌入式硬件·编辑器·嵌入式·微机原理·8086最小系统
努力的小帅19 小时前
使用 Tailscale 实现 Ubuntu 远程开发(VSCode Remote SSH + NoMachine)
linux·ide·vscode·ubuntu·编辑器·copilot
开发者联盟league19 小时前
解决vscode默认终端log日志输出中文乱码的问题
ide·vscode·编辑器
2501_9160074719 小时前
XCode 15 IDE新特性:苹果集成开发环境全面升级,提升编程效率与体验
ide·vscode·macos·ios·个人开发·xcode·敏捷流程
贾亚超20 小时前
手动配置vscode-server
ide·vscode·编辑器
6190083361 天前
win idea 控制台中文乱码
java·ide·intellij-idea