前两篇讲了安装和 Tab 补全。这一篇,讲 Cursor 最实用的功能之一——Cmd+K 行内编辑。
如果 Tab 补全是"预测式",那 Cmd+K 就是"指令式"——你直接告诉 Cursor 要做什么,它来执行。
Cmd+K(Windows/Linux 上是 Ctrl+K)是 Cursor 的行内 AI 编辑快捷键。选中一段代码,按 Cmd+K,会弹出一个输入框,你用自然语言描述要做的修改,Cursor 就会生成对应的代码改动。
比如你选中这行:
const total = price * quantity;
在 Cmd+K 输入框里输入:"加上 10% 的税",Cursor 会生成:
const total = price * quantity * 1.1;
你按 Enter 采纳,或者按 Esc 放弃。
Cmd+K 和 Chat 面板的最大区别,是上下文。
当你在一个文件里用 Cmd+K,Cursor 会自动带上:
这意味着你不需要在 prompt 里解释"这段代码是什么",Cursor 已经知道了。
场景1:重构函数名
选中一个函数,输入"把函数名改成 camelCase 风格",Cursor 会连同所有调用处一起改。
场景2:加注释
选中一段复杂逻辑,输入"给这段代码加详细注释",Cursor 会生成逐行说明。
场景3:改写法
选中一段写得不好的代码,输入"用更简洁的方式重写",Cursor 会给出优化版本。
场景4:转译语言
选中 Python 代码,输入"翻译成 JavaScript",Cursor 会用 JS 重写。
场景5:生成测试
选中一个函数,输入"为这个函数生成单元测试",Cursor 会写出 Jest/pytest 测试用例。
Cursor 支持多光标 Cmd+K。你在多个位置同时按 Cmd+K,可以一次性给多处代码下指令。
比如你想给 3 个函数都加上错误日志,传统做法是逐个改。用多光标 Cmd+K,你可以同时选中它们,输入一次指令,Cursor 会分别处理。
Cmd+K 的效果,取决于你怎么写指令。几个原则:
1. 具体优于模糊
❌ "优化这段代码"
✅ "把嵌套的 if 改成 early return 模式,减少缩进层级"
2. 给上下文
❌ "加上输入验证"
✅ "给这个 API 处理函数加上对 req.body 的字段校验,如果缺失返回 400"
3. 说明约束
❌ "改成异步"
✅ "把这个函数改成 async/await 风格,保持对外接口不变"
| Cmd+K | Chat 面板 | |
|---|---|---|
| 使用场景 | 小范围、精确到行的修改 | 大范围、跨文件的讨论 |
| 上下文 | 自动带当前文件 | 需要手动引用 @ 文件 |
| 输出形式 | 直接改代码,可逐处采纳 | 生成代码块,需手动复制 |
| 适合任务 | 改写、重构、加注释 | 架构设计、方案讨论 |
根据 Cursor 官方数据,熟练使用 Cmd+K 的开发者,代码修改速度比纯手动快约 40%。
但这是"熟练"后的数据。新手前两周可能会慢——因为要学怎么写 prompt。坚持用,会明显感觉到差异。
下期预告:Chat 面板——从对话到改代码,@ 符号引用和 Apply 改动怎么用?
评论区