最近从 Windows 迁移到了 Mac。虽然 Mac 的触控板体验相当出色,但在编程时仍然无法完全替代鼠标的精准度。为了提升编码效率,我开始尝试在 VSCode 中使用 Vim 模式,让双手尽可能地留在键盘上。经过一段时间的适应,我发现 Vim 的操作方式不仅能够替代大部分触控板操作,还能显著提升编码效率。
🚀 基础配置优化
1. 让 ESC 更易用
Vim 中频繁使用 ESC 键来切换模式,但它在键盘左上角的位置并不友好。我们可以通过以下配置将 jj
映射为 ESC:
{
"vim.insertModeKeyBindings": [
{
"before": ["j", "j"],
"after": ["<Esc>"]
}
]
}
2. 复制操作更直观
启用复制文本高亮功能,提供更好的视觉反馈:
{
"vim.highlightedyank.enable": true,
"vim.highlightedyank.duration": 250,
"vim.highlightedyank.color": "rgba(147, 112, 219, 0.4)"
}
💡 提升工作效率的快捷键
Quick Fix 增强
VSCode 的 Quick Fix 功能强大但默认不支持 Vim 式导航,添加以下配置来改善体验:
[
{
"key": "ctrl+k",
"when": "codeActionMenuVisible",
"command": "selectPrevCodeAction"
},
{
"key": "ctrl+j",
"when": "codeActionMenuVisible",
"command": "selectNextCodeAction"
}
]
常用 VSCode 快捷键
操作 | Mac 快捷键 | 说明 |
---|---|---|
切换编辑器 | ⇧ ⌘ [ / ⇧ ⌘ ] | 在打开的编辑器间切换 |
保存文件 | ⌘ S | 保存当前文件 |
关闭编辑器 | ⌘ W | 关闭当前编辑器 |
关闭所有 | ⇧ ⌘ W | 关闭所有编辑器 |
常用移动命令
命令 | 说明 |
---|---|
h j k l | 左下上右移动 |
w | 下一个单词开头 |
b | 上一个单词开头 |
0 | 行首 |
$ | 行尾 |
gg | 文件开头 |
G | 文件结尾 |
编辑操作
命令 | 说明 |
---|---|
i | 当前位置插入 |
a | 当前位置后插入 |
o | 下一行插入 |
dd | 删除当前行 |
yy | 复制当前行 |
p | 粘贴 |
🌟 Vim 必知必会
基础模式
- Normal 模式: 默认模式,用于导航和编辑
- Insert 模式: 输入文本模式
- Visual 模式: 选择文本模式
- Command 模式: 执行命令模式
常用移动命令
命令 | 说明 |
---|---|
h j k l | 左下上右移动 |
w | 下一个单词开头 |
b | 上一个单词开头 |
0 | 行首 |
$ | 行尾 |
gg | 文件开头 |
G | 文件结尾 |
编辑操作
命令 | 说明 |
---|---|
i | 当前位置插入 |
a | 当前位置后插入 |
o | 下一行插入 |
dd | 删除当前行 |
yy | 复制当前行 |
p | 粘贴 |
🌟 进阶技巧
1. 组合命令
Vim 的强大之处在于命令的组合:
3dd
: 删除接下来的 3 行2yy
: 复制接下来的 2 行5j
: 向下移动 5 行
2. 文本对象
使用文本对象可以更精确地操作代码:
ci"
: 改变双引号中的内容di{
: 删除花括号中的内容ya[
: 复制方括号中的内容
3. 搜索和替换
/pattern
: 向下搜索?pattern
: 向上搜索:%s/old/new/g
: 全局替换
4. 快速移动
Ctrl + e
向下滚动Ctrl + y
向上滚动Ctrl + d
向下滚动半屏Ctrl + u
向上滚动半屏
当然也可以使用 mac 或者 windows 的系统快捷键。例如在mac上可以使用 ⌘ + ↓/↑
向下/向上滚动。
vscode 其他效率插件推荐
- file utils - 提供各种文件相关的命令。包括删除、复制、移动、重命名、创建文件夹等。
🎉 小贴士
- 循序渐进:不要试图一次性掌握所有命令
- 从基础开始:先熟悉基本的移动和编辑命令
- 善用可视化模式:不确定操作范围时可以先用可视模式查看
- 养成习惯:坚持使用一段时间后就会形成肌肉记忆
记住:熟能生巧!开始时可能会感觉速度变慢,但随着练习,你的编码效率会显著提升。
- Vim Adventures - 游戏化学习 Vim
- Vim Cheat Sheet - 快捷键速查表