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

相关推荐
莫负初13 分钟前
Pytest 使用Pycharm右键直接运行测试脚本正常,控制台命令pytest运行收集不到用例无法正常测试 no tests ran in 0.01s
ide·pycharm·pytest
Zww08911 小时前
idea插件市场安装没反应
java·ide·intellij-idea
hallo1286 小时前
vscode环境迁移
ide·vscode·编辑器
家有狸花6 小时前
VSCODE驯服日记(三):配置C++环境
c++·ide·vscode
yufei-coder9 小时前
掌握 C# 中的 LINQ(语言集成查询)
windows·vscode·c#·visual studio
陈苏同学11 小时前
4. 将pycharm本地项目同步到(Linux)服务器上——深度学习·科研实践·从0到1
linux·服务器·ide·人工智能·python·深度学习·pycharm
怪我冷i11 小时前
使用vscode调试wails项目(golang桌面GUI)
vscode·golang
惜.己19 小时前
javaScript基础(8个案例+代码+效果图)
开发语言·前端·javascript·vscode·css3·html5
菜鸟一皓1 天前
IDEA的lombok插件不生效了?!!
java·ide·intellij-idea
satan–01 天前
R语言的下载、安装及环境配置(Rstudio&VSCode)
开发语言·windows·vscode·r语言