Appearance
常见任务的最优键位组合
将常见开发任务分解为最高效的键位组合序列。
文件操作
打开文件
| 方式 | 键位 | 适用场景 |
|---|---|---|
| 快速打开 | Ctrl+P | 知道文件名 |
| 文件树 | <leader>e → j/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
输入新名称
Enter2 步完成全局重命名。
复制函数并修改
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 |
总结
最优键位组合的原则:
- 最少击键:选择击键次数最少的方式
- 语义化:使用有意义的助记符
- 一致性:保持相似操作相似键位
- 可组合:Vim 操作符 + 动作 = 强大组合
- 肌肉记忆:常用操作要形成条件反射
下一步:学习减少击键次数的系统性方法。