Skip to content

常见任务的最优键位组合

将常见开发任务分解为最高效的键位组合序列。

文件操作

打开文件

方式键位适用场景
快速打开Ctrl+P知道文件名
文件树<leader>ej/k浏览目录
最近文件Ctrl+Tab近期打开过
Buffer 切换H/L已打开的文件

最优选择Ctrl+P 输入部分文件名

新建文件

<leader>e    → 打开文件树
j/k          → 导航到目录
a            → 新建文件
输入文件名
Enter

或使用命令面板:Ctrl+Shift+P → "New File"

保存文件

方式键位
保存当前<leader>w:w
保存全部<leader>W
另存为:saveas filename

关闭文件

方式键位
关闭当前<leader>q:q
强制关闭:q!
关闭其他<leader>o

代码导航

跳转到定义

gd    → 跳转到定义
gD    → 在侧边打开定义
gf    → 跳转到文件

最优gd 一键跳转

跳转到引用

gr    → 显示所有引用
gR    → 跳转到引用列表

返回跳转

Ctrl+o    → 返回上一位置
Ctrl+i    → 前进到下一位置

符号导航

Ctrl+Shift+O    → 文件内符号
<leader>s       → 工作区符号

代码编辑

复制一行

yy       → 复制
yyp      → 复制到下一行
yyP      → 复制到上一行

删除一行

dd       → 删除整行
D        → 删除到行尾

移动行

ddp      → 下移一行
ddkP     → 上移一行

或使用 VSCode 命令:Alt+↑/↓

复制选中

v + 移动 + y    → 选择并复制
V + y           → 复制整行

交换两词

深度交换词:
dawwP    → 删除词、移动、粘贴在前

搜索替换

文件内搜索

/pattern    → 搜索
n/N         → 下/上一个
*           → 搜索当前词

搜索并替换

cgn         → 修改下一个匹配
.           → 重复修改

这是最高效的方式:搜索词 → cgn 修改 → . 重复

全局搜索

<leader>/    → 打开搜索面板
输入搜索词
Enter → 查看结果

批量替换

:%s/old/new/g     → 当前文件
:%s/old/new/gc    → 带确认

代码重构

重命名

<leader>rn    → 重命名(所有引用)

一次重命名,全部更新。

提取变量

选中表达式
<leader>ev    → 提取为变量

提取函数

选中代码块
<leader>ef    → 提取为函数

整理导入

<leader>oi    → 整理导入

多光标编辑

添加光标

Ctrl+D         → 选中下一个相同词
gb             → Vim 方式添加
Ctrl+Alt+↑/↓   → 上下添加光标

批量编辑

gb + 多次    → 选中多个
c            → 修改
输入内容
Esc

注释

切换行注释

gcc    → 切换当前行注释
gc + 移动    → 注释区域

块注释

gC    → 块注释

格式化

格式化文件

<leader>f    → 格式化整个文件

或:

json
{
  "before": ["<leader>", "f"],
  "commands": ["editor.action.formatDocument"]
}

格式化选中

选中代码
=    → 自动缩进

折叠

折叠操作

zc    → 折叠当前
zo    → 展开当前
zM    → 折叠全部
zR    → 展开全部
za    → 切换折叠

分屏操作

创建分屏

<leader>v    → 垂直分屏
<leader>s    → 水平分屏

分屏导航

Ctrl+h/j/k/l    → 左下上右切换

关闭分屏

<leader>q    → 关闭当前
<leader>o    → 只保留当前

Git 操作

快速提交

<leader>ga    → 暂存
<leader>gc    → 提交
<leader>gp    → 推送

查看变更

<leader>gg    → Git 面板
]c/[c         → 导航变更

终端

打开终端

Ctrl+`    → 切换终端
<leader>tt    → 新建终端

终端导航

Ctrl+j/k    → 切换终端(如果配置)

调试

断点

<leader>db    → 切换断点

调试控制

F5      → 开始/继续
F10     → 单步跳过
F11     → 单步进入
Shift+F11    → 单步跳出

高效组合示例

重构变量名(全局)

光标在变量上
<leader>rn
输入新名称
Enter

2 步完成全局重命名。

复制函数并修改

va{        → 选中函数体(包含括号)
y          → 复制
}          → 移动到函数末尾
p          → 粘贴
修改函数名和内容

交换两行

ddp    → 当前行与下一行交换
ddkP   → 当前行与上一行交换

快速删除到特定字符

dt)    → 删除到 )
df)    → 删除包含 )

修改引号内内容

ci"    → 修改双引号内
ci'    → 修改单引号内
ci(    → 修改括号内

键位组合速查表

文件操作

任务最优键位
打开文件Ctrl+P
保存<leader>w
关闭<leader>q

导航

任务最优键位
定义跳转gd
返回Ctrl+o
符号导航Ctrl+Shift+O

编辑

任务最优键位
复制行yyp
删除行dd
修改词ciw
搜索替换/ + cgn + .

重构

任务最优键位
重命名<leader>rn
提取变量选中 + <leader>ev
格式化<leader>f

总结

最优键位组合的原则:

  1. 最少击键:选择击键次数最少的方式
  2. 语义化:使用有意义的助记符
  3. 一致性:保持相似操作相似键位
  4. 可组合:Vim 操作符 + 动作 = 强大组合
  5. 肌肉记忆:常用操作要形成条件反射

下一步:学习减少击键次数的系统性方法。

常见任务的最优键位组合 has loaded