Cursor 使用方法完整教程 - Tab、Cmd-K、Chat、Composer、Agent
Cursor 使用方法逐个拆解 5 大核心交互(Tab、Cmd-K、Cmd-L Chat、Cmd-I Composer、Agent),附 Claude Sonnet 4.6 配合实战与全平台快捷键表。
Cursor 使用方法讲得最清楚的方式不是按”功能列表”罗列,而是按 5 大核心交互 拆解:Tab 补全、Cmd-K 内联编辑、Cmd-L Chat、Cmd-I Composer、Agent 模式。这 5 件事掌握了,剩下 95% 的 Cursor 用法都是这些核心交互的衍生。本文按”是什么 → 怎么按 → 高级用法 → 跟 Claude 配合的最佳实践”的顺序逐个过一遍,最后给一张全平台快捷键对照表,让你如何使用 Cursor这个问题彻底闭环。
Cursor 的 5 大核心交互
先看一下全景图,再分别展开:
| 交互 | 触发键 | 用途 | 影响范围 |
|---|---|---|---|
| Tab 补全 | Tab | 接受 AI 建议的下一段代码 | 当前文件、光标位置 |
| Cmd-K 内联编辑 | Cmd-K (Mac) / Ctrl-K (Windows/Linux) | 选段 + 自然语言指令改写 | 选中段落 |
| Cmd-L Chat | Cmd-L (Mac) / Ctrl-L (Windows/Linux) | 多轮聊天 + @上下文 | 通过 @ 决定 |
| Cmd-I Composer | Cmd-I (Mac) / Ctrl-I (Windows/Linux) | 多文件同时编辑 | 多个文件 |
| Agent | Composer 内开关 | 自主执行(读文件、跑命令、写代码) | 任意 |
Tab 是反射动作、Cmd-K 是局部手术、Chat 是思考助手、Composer 是中型项目、Agent 是放养——按场景分工记最清楚。
一、Tab 自动补全
它跟 IntelliSense 完全不是一回事
很多人第一次用 Cursor 觉得”补全没什么特别”,是因为他们把它当 IntelliSense 那种按字母弹方法名的补全在用。Cursor Tab 是模型生成式补全:
- 它能预测未来 5 行 10 行的代码
- 它能预测跨文件——你在 A 文件改字段名,B 文件出现的同名字段它也提示同步改
- 它能预测光标该跳到哪里——你接受当前补全后,按 Tab 它会把光标跳到下一个推荐编辑点
后两个能力业内叫 “next edit prediction”,是 Cursor 真正拉开差距的地方。
接受 / 拒绝 / 部分接受
| 动作 | Mac | Windows/Linux |
|---|---|---|
| 接受整段 | Tab | Tab |
| 拒绝 | Esc | Esc |
| 按词接受 | Cmd-→ | Ctrl-→ |
| 强制触发补全 | Cmd-Shift-Space | Ctrl-Shift-Space |
按词接受这个动作老用户用得很多——AI 给了一行 80% 对的代码,前 5 个 token 接受、后面手敲。
什么时候应该关掉 Tab
Tab 默认开,但有几个场景关掉更舒服:
- 写配置文件(JSON / YAML):AI 容易瞎填字段
- 写正则表达式:AI 给的正则错误率高
- 录视频教学:补全噪音大
临时关:Cmd-K Cmd-/ (Mac) 或 Ctrl-K Ctrl-/ (Windows/Linux) 切换。
二、Cmd-K / Ctrl-K 内联生成与编辑
Cmd-K (Mac) / Ctrl-K (Windows/Linux) 是 Cursor 使用方法里使用频率第二高的快捷键。
选中代码改写
经典用法:
- 选中一段代码(一行或十几行都行)
- 按
Cmd-K - 在弹出的输入框里写自然语言指令:
- “把这段改成 async”
- “加错误处理”
- “用 lodash 的 chunk 重写”
- “改成中文注释”
- AI 生成 diff,按
Enter接受、Cmd-Y也是接受、Esc取消
接受后的代码会直接替换选中区域,没有额外面板,所以叫内联编辑。
不选中:插入新代码
不选中任何东西直接按 Cmd-K,相当于在当前光标位置生成新代码。常用工作流:
// TODO: 写一个函数,接受一个 URL,返回域名部分,处理 IPv6 / 端口号 / 路径
// 光标停在这里,按 Cmd-K,写"实现上面 TODO"
这个套路对先想后写型程序员特别舒服——先把意图写成注释,再让 AI 落地。
Quick Question 模式
Cmd-K 输入框里有时会有一个 Quick Question 切换(或叫 Ask)。开启后 AI 不改代码,只回答你关于这段代码的问题:
- “这个函数有性能问题吗”
- “这里为什么 TypeScript 报错”
- “这段在做什么”
回答出现在内联浮窗里,不污染代码。适合一边写一边问。
Cmd-K 和 Chat 的边界
| 选 Cmd-K 还是 Chat | 判断标准 |
|---|---|
| 我已经知道要改哪段 | Cmd-K |
| 我还不确定方案 | Chat |
| 改动局限在 5-50 行 | Cmd-K |
| 改动涉及多个文件 | Composer |
| 我只想问不想改 | Chat 或 Cmd-K Quick Question |
三、Cmd-L / Ctrl-L 侧边 Chat
Cmd-L (Mac) / Ctrl-L (Windows/Linux) 打开右侧 Chat 面板。这是最像传统”和 AI 对话”的入口。
多轮聊天与上下文管理
Chat 是有记忆的:
- 同一个 Chat 会话里的多轮问答互相关联
- 关闭再打开会话历史保留
- 新开会话点输入框旁边的
+或New Chat
但 Chat 的上下文窗口是有限的——一个会话里塞了 200 条消息会拖慢响应、漏掉早期细节。建议每个独立任务开一个新会话。
@-提及是 Chat 的灵魂
在 Chat 输入框打 @,会出来一个选择器:
| 类型 | 用法 | 例子 |
|---|---|---|
@文件 | 指定单个文件全文 | @user.controller.ts |
@文件夹 | 文件夹下所有文件 | @src/api/ |
@Codebase | 全仓向量检索 | @Codebase 哪里处理登录态 |
@Docs | Cursor 内置的官方文档 | @Next.js 怎么写 middleware |
@Web | 上网查 | @Web 2026 年 React 最佳实践 |
@Git | 当前 diff / 最近 commit | @Git 帮我写 commit message |
@Lint | Lint 报错 | @Lint 修一下这些 warning |
@Recent Changes | 最近编辑过的代码 | @Recent Changes 总结今天改了啥 |
@ 是从”AI 瞎猜”到”AI 给精准答案”的开关。@Codebase 几乎在每个稍复杂的问题里都该用。
Chat 跟 Codebase Index 的关系
@Codebase 的检索质量直接依赖 Codebase Indexing 状态。Settings → Features → Codebase Indexing 一定要开。索引过期或不完整时,AI 会”看不见”你的代码。看 Cursor 入门教程 里的 5 个关键设置部分有详细配置。
模型选择器
Chat 面板底部有一个独立的模型选择器,可以单独切:
- 大多数问题用 Claude Sonnet 4.6
- 大问题(架构讨论、复杂 debug)切 Opus 4.6
- 想找不同视角偶尔切 GPT
这里的切换不影响全局 Default Model,下次新开会话仍然回到默认。
四、Cmd-I / Ctrl-I Composer
Cmd-I (Mac) / Ctrl-I (Windows/Linux) 打开 Composer。Composer 是 Cursor 用法里跟传统编辑器拉开最大代差的部分——多文件同时编辑。
多文件改动的工作流
典型场景:你接到一个需求”加一个登录页面”,涉及到:
src/routes/login.tsx新建src/api/auth.ts新建函数src/components/Layout.tsx加导航src/types/user.ts加类型
传统流程:你自己想清楚要改哪些文件,逐个开、逐个改。
Composer 流程:
Cmd-I打开 Composer- 描述需求:“给项目加一个登录页面,前端用 React Hook Form,后端调
/api/login,登录后跳到/dashboard” - 可以
@Codebase让它自己看现有代码风格 - Composer 输出多个文件的 diff
- 每个文件单独
Apply/Reject
Apply / Reject Diff
Composer 不会”偷偷改你的文件”,它生成的所有改动都以 diff 形式展示:
| 按钮 | 作用 |
|---|---|
Apply | 把这个文件的改动应用到磁盘 |
Reject | 丢弃这个文件的改动 |
Apply All | 一键全部应用 |
Reject All | 全部丢弃 |
| 行级勾选 | 部分版本支持 |
Apply All 很爽但有风险——大改动一定逐个看。
Composer 历史
Composer 左侧有会话历史列表,每次 Cmd-I 是一个新会话,老会话能找回来:
- 切回某个老会话继续问
- 复用之前的成功 prompt
- 看一周前自己改了什么
这个特性老用户依赖度很高,相当于自带的”AI 改动日志”。
Composer 和 Chat 的区别
| 维度 | Chat (Cmd-L) | Composer (Cmd-I) |
|---|---|---|
| 主要输出 | 文字回答 | 文件 diff |
| 改文件 | 通过 Apply 按钮 | 内建批量 Apply |
| 多文件 | 可以但麻烦 | 原生多文件 |
| 适合 | 讨论、解释、写小段代码 | 中型任务、跨文件改动 |
| Agent 模式 | 不在这里 | 在这里 |
简单说:讨论用 Chat,干活用 Composer。
五、Agent / YOLO 模式
Composer 里有一个 Agent / Auto-Run 开关(不同版本叫 “YOLO mode” 或 “Auto-Run”,本质同一个)。
Agent 在 Composer 基础上多做了什么
| Composer 普通模式 | Agent 模式 |
|---|---|
| AI 给 diff,你点 Apply | AI 自己 Apply |
| 不跑命令 | 自动跑 npm install pytest 这类 |
| 单回合 | 多回合:跑命令、看输出、再改、再跑 |
| 你掌控节奏 | AI 掌控节奏 |
Agent 模式适合”我大概知道目标,过程懒得管”的任务。
Allow Auto-Run 选项
Settings → Features → Composer → Allow Auto-Run。这是 Agent 跑命令的总开关:
- 默认通常是 询问 模式:每条命令弹窗问你
- 调成 允许 后所有白名单内命令自动跑
- 可以配白名单 / 黑名单(具体粒度看版本)
第一次开建议保持询问模式跑几次,看清楚 Agent 想做什么再放开。直接 YOLO 容易出现”它跑了一条 git reset --hard 你都不知道”的情况。
适合 / 不适合的任务
| 适合 Agent | 不适合 Agent |
|---|---|
| 写测试覆盖一个模块 | 探索性的”试试看怎么做” |
| 批量重构(改字段名、改 import 路径) | 业务方向不明的需求 |
| 跑 lint 后修所有错误 | 跟外部系统对接的调试 |
| 升级某个依赖并修适配 | 涉及生产数据的迁移 |
| 给已有功能加单元测试 | 安全敏感代码(密码、加密) |
Agent 跑长任务的实战经验
- 拆任务:让 Agent 一次只干一件事,别给”重构整个项目”
- 加守门员:开 Auto-Run 但限制能跑的命令
- 定期看:Agent 跑 10 分钟,每 2 分钟瞄一眼它在干啥
- git 是安全网:任务开始前 commit 一次,跑飞就
git reset - 模型选 Opus:长任务的稳定性 Opus 显著优于 Sonnet(成本换可靠性)
跟 Claude Sonnet 4.6 配合的最佳实践
Cursor 默认接 Claude 不是偶然——5 大核心交互在 Claude 上的体验都比其他家更稳。把 Default Model 设为 Claude Sonnet 4.6,再叠加下面几个习惯:
1. Tab 补全用 cursor-small,复杂动作切 Claude
Tab 补全频次高、单次输出短,用 cursor-small 这种轻量模型够快够省。一旦切到 Cmd-K / Chat / Composer 这种需要”理解”的场景,自动切 Claude。
2. Cmd-K 改代码时显式标注约束
"把这段改成 async,保持函数签名不变,不要改外层调用方"
Claude 很听话,约束写清楚它不会越界。GPT 容易”顺便也优化一下别的东西”。
3. Chat 多用 @Codebase + Claude
@Codebase 我们项目里登录态是怎么管理的 这种问题,Claude 给的答案比 GPT 准。原因是 Claude 在长上下文里的”在大海里找针”能力更强。
4. Composer 大任务用 Opus 4.6
Sonnet 4.6 跑中等 Composer 任务体验最佳,但一旦任务涉及 10+ 文件 / 3000+ 行改动,切 Opus 稳定性显著上一个档。详细的 Opus 能力分析看 Claude Opus 4.6 深度解析。
5. Agent 长任务 Opus + git 安全网
Agent 模式跑 30 分钟的任务,Opus 中途崩溃概率明显低于 Sonnet。代价是慢和贵。配合 git 频繁 commit,跑飞了能回滚。
如果你想把 Claude 在 Cursor 之外也用熟(Claude Code、Claude 网页版、claude.ai App),可以看 Claude Code 是什么 以及 Claude Code vs Claude vs Cursor。模型选择策略也可以参考 Claude Code 模型选择。
全平台快捷键对照表
把上面所有交互的快捷键汇总:
| 动作 | Mac | Windows/Linux |
|---|---|---|
| 接受 Tab 补全 | Tab | Tab |
| 按词接受 Tab | Cmd-→ | Ctrl-→ |
| 拒绝 Tab | Esc | Esc |
| 内联编辑 (Cmd-K) | Cmd-K | Ctrl-K |
| 接受 Cmd-K 改动 | Enter / Cmd-Y | Enter / Ctrl-Y |
| 拒绝 Cmd-K 改动 | Esc | Esc |
| 打开 Chat (Cmd-L) | Cmd-L | Ctrl-L |
| 新建 Chat 会话 | Cmd-N(Chat 面板内) | Ctrl-N(Chat 面板内) |
| 打开 Composer (Cmd-I) | Cmd-I | Ctrl-I |
| 命令面板 | Cmd-Shift-P | Ctrl-Shift-P |
| 打开设置 | Cmd-, | Ctrl-, |
| @-提及 | 输入框内输入 @ | 同 |
| 切换 Tab 开关 | Cmd-K Cmd-/ | Ctrl-K Ctrl-/ |
| 集成终端 | Ctrl-` | Ctrl-` |
| 切换侧栏 | Cmd-B | Ctrl-B |
| 文件搜索 | Cmd-P | Ctrl-P |
| 全局搜索 | Cmd-Shift-F | Ctrl-Shift-F |
记住核心 4 个就够日常:Tab、Cmd-K、Cmd-L、Cmd-I。这 4 个键的肌肉记忆建立起来,Cursor 怎么使用 这件事就过了入门关。
常见误区
误区 1:把 Cursor Tab 当 Copilot 用
Copilot 是单文件单段补全,Cursor Tab 是多行 + 跨光标预测。用 Cursor Tab 时多按几下 Tab 让它带你跳,不要按完一次就回鼠标点其他地方。
误区 2:Chat 里贴大段代码
Chat 里贴 500 行代码不如 @文件名 干净。前者污染上下文、token 浪费,后者 Cursor 在内部自己管理上下文。
误区 3:Composer 当 Chat 用
Composer 是改文件的,问”这个项目用了什么框架”应该去 Chat。Composer 用来问问题它也答,但会顺手生成你不需要的改动。
误区 4:Agent 全程不看
Agent 是放养不是放任。30 分钟任务建议每 5 分钟瞄一眼,发现跑偏立刻打断。
误区 5:所有任务一个模型走到底
不同交互最优模型不同。Tab 用轻模型、Cmd-K 和 Chat 用 Sonnet、长 Composer 用 Opus。Cursor 提供了模型选择器就是要你切。
误区 6:不开 Codebase Indexing
不开 indexing,@Codebase 直接残废,AI 几乎不知道你项目结构。Cursor 入门的第一周一定要把 indexing 跑完。
误区 7:忽略 @Docs
@Docs Next.js 怎么用 server actions 比你跑去 Google 再粘文档高效得多。Cursor 内置了主流框架的最新文档库,直接 @ 就有官方答案。
进阶:把 Cursor 用到极致
5 大核心交互熟练之后,Cursor 的使用 还可以深入:
- Rules:
.cursor/rules/*.mdc自动注入项目规则 - 自定义 keybinding:
Keyboard Shortcuts重映射所有快捷键 - 设置同步:
Settings → Sync跨设备同步 - 远程开发:Cursor 继承 VS Code Remote SSH / Container 能力
- 跟 Claude Code 配合:Cursor 集成终端里跑
claude命令
详细的配置和 Claude 接入步骤看 Cursor 配置 Claude 完整指南。国内场景的网络 / 支付看 Cursor 国内使用 Claude 完整教程。
Cursor 使用方法 真正的精髓不在每个功能怎么按,而在判断什么任务该用什么交互、什么交互该配什么模型。这两个判断练熟,剩下的就是速度。