DOCAI · 课程 · L3 · 26 分钟 · 交互模式与工具
键盘快捷键
按意图记忆而不是背整张表:停下来、找上一条、改这一行、清屏与清空对话,四组键位覆盖终端里最常用的操作。
你将学会
- 能在生成跑偏时用正确的键中断或取消
- 能用历史搜索和行编辑快捷键快速改写提示词
- 能分清清屏、清空对话与压缩上下文的差别
按键是给手用的,不是拿来背的
它开始大段输出,你发现方向错了;提示词写到一半,你想整段重来;上周写过的要求,你想翻出来改两个字。这些瞬间,鼠标和滚动条都太慢。快捷键的价值不在齐全,而在于卡住时你能立刻想起按哪个。
下面按「你想干什么」分组,每组只留最常用的。终端和版本之间存在差异,遇到不一致时以自己机器上的实测为准。
先给一张总表,后面几节再解释容易混的地方。表里的「一次」「两次」指连续快速按,间隔拖长就会被识别成两次独立操作。
| 想做的事 | 按键 |
|---|---|
| 提交当前内容 | 回车 |
| 输入换行不提交 | Shift 加回车,或 Ctrl+J |
| 中断正在生成的回答 | Ctrl+C 一次,或 Esc |
| 清空未提交的草稿 | 连按两次 Esc |
| 退出整个工具 | 空输入框 Ctrl+D 两次,或 Ctrl+C 两次,或 /exit |
| 翻上一条、下一条 | 上方向键、下方向键 |
| 按关键词找旧输入 | Ctrl+R,再按一次找更早的匹配 |
| 清屏 | Ctrl+L |
| 清空对话 | /clear |
| 压缩历史 | /compact |
| 行首、行尾 | Ctrl+A、Ctrl+E |
| 按词移动 | Alt+B、Alt+F |
| 删一个词 | Ctrl+W(前)、Alt+D(后) |
| 删到行首或行尾 | Ctrl+U、Ctrl+K |
| 找回刚删的文字 | Ctrl+Y |
| 撤销行内编辑 | Ctrl+下划线 |
| 命令补全 | Tab |
| 挂起进程、拉回 | Ctrl+Z、fg |
想停下来
| 你的意图 | 按键 | 结果 |
|---|---|---|
| 打断正在生成的回答 | Ctrl+C 或 Esc |
停止当前操作,回到输入框 |
| 清掉还没发出去的草稿 | 连按两次 Esc |
输入框清空,草稿存进历史 |
| 退出整个工具 | 连按两次 Ctrl+C,或连按两次 Ctrl+D,或输入 /exit |
会话结束 |
| 把进程暂时放到后台 | Ctrl+Z,之后 fg 拉回 |
对话状态保留(仅 Unix 系) |
最容易混的是前两个:Ctrl+C 和 Esc 都能打断生成,只是侧重不同。Ctrl+C 中断当前操作;没有任务在跑时,第一下清空输入、第二下退出。Esc 打断本轮流式输出或关掉弹窗,已经做完的部分会保留;输入框里有草稿时,连按两次 Esc 才会清空,草稿还会存进历史,按上方向键能找回。Ctrl+D 是退出键:空输入框要连按两次(第二下在 800 毫秒内)才结束会话,有字时它删的是光标后的字符,不是清空整行。
Ctrl+Z 是 shell 的老习惯:临时想看别的,不用结束会话,挂起再拉回即可。这个键只在 macOS、Linux 和 WSL 里有效。
中断不等于退款。请求已经发出去、模型已经生成了一部分,这部分消耗照常计算;所以发现方向不对时要尽早停,不要等它写完十页再按。
启动与退出
进入对话有几种常用姿势:直接敲 claude 进交互界面;claude 加一段引号包住的文字,启动时就把第一句发出去;claude -c 接着上一个会话;claude –resume 加会话编号,跳到指定历史。参数名和可用性随版本调整,记不住就先敲 claude –help 看本机帮助。
退出推荐空输入框按 Ctrl+D,最干净,会话也会保存。连续两次 Ctrl+C 更直接,适合卡住时用;输入 /exit 或 /quit 则最不容易误触。三种方式都能走,差别只在顺手程度。
回到某条旧消息重来
输入框为空时,连按两次 Esc 会进入历史消息的选择状态,挑一条改完再提交,会话会从那条之后重新推进。这个功能适合「前面某句条件写漏了」的场景:不必从头开会话,改掉源头那一句即可。注意两点:一是不同版本对这个手势的响应不完全一样,第一次用先在无关紧要的对话里试;二是重跑之后,原来那条之后的内容会被新的结果替代,先确认没有需要保留的东西。
想找回上一条、改这一行
- 上下方向键:在历史输入里前后翻,翻到后可以直接改、直接发。
Ctrl+R:历史很长时按关键词反向搜索,再按一次找更早的匹配,回车选中。
长对话里找上周写过的要求,比用方向键一条条翻快得多。历史里既有普通提问,也有斜杠命令,搜索时按内容里的关键词比按时间更有效。想系统地管理历史,那是另一节的内容。
Ctrl+R 进去之后,输入框上方会出现搜索提示。输入几个字,最近的匹配先跳出来;再按一次 Ctrl+R 继续往更早的记录找。看到想要的那条,直接回车会把它发出去;如果还想改一改,先按 Esc 退出搜索状态,内容会留在输入框里等你编辑。这两个出口差别很大,手快的人容易直接回车,把半成品又发了一遍。
翻出来之后,多半还要改。输入框基本沿用行编辑器的习惯:
Ctrl+A/Ctrl+E:跳到行首 / 行尾。Alt+B/Alt+F:按词后退 / 前进。Ctrl+W:删到前一个空白,整段路径或参数会一起删掉。Ctrl+U/Ctrl+K:删到行首 / 删到行尾。Ctrl+Y:把刚删掉的那段文字找回来。
最后一条值得单独记:误删整行后别急着重打,先按它。Ctrl+H 是退格;Ctrl+D 有字时删光标后的字符,空输入框时才是退出,位置不同,行为完全不同。
还有几个不常被提到但很好用的键:Ctrl+B 和 Ctrl+F 等价于左右方向键,单手就能移动;Ctrl+下划线 撤销刚才的行内编辑,写长句时比整段重写快;Alt+D 从光标处删到下一个词尾,和 Ctrl+W 正好一前一后。
一条改稿的完整动作
假设你翻出一条旧提示词,想把它改成新任务:
- 按上方向键调出那条记录。
- 按
Ctrl+A到行首,删掉开头的旧项目名,换成新的。 - 按
Ctrl+E到行尾,补一句「输出用表格」。 - 中间有个词想换,按
Alt+B往后退到词首,用Ctrl+W删掉,再输入新词。 - 如果不小心把整行删了,按
Ctrl+Y找回来。 - 回车发送。
整套动作不用离开主键区,比用鼠标选中再改快得多。
别把清屏当成清空对话
这是新手最常踩的坑:
Ctrl+L只把屏幕擦干净,对话上下文还在,它仍然记得前面聊过什么。/clear才是清空对话,之前的内容不再参考,适合换一个不相关的任务。/compact把长历史压成摘要,保留要点、减少占用,适合同一任务还要接着做。
屏幕太乱就清屏,任务结束就清空,上下文快满还想继续就压缩。三件事对应三个动作,别混用。
什么时候该用哪一个,可以按任务边界判断:同一个项目里换一个小话题,屏幕花就按 Ctrl+L;彻底换项目、换代码库,用 /clear,避免旧约束渗进来;一个长任务做到一半、上下文快占满,用 /compact 把前面的结论留下。压缩之后的摘要可能丢掉细节,重要参数最好在压缩前另存一份。关于上下文占用的机制,可以看上下文窗口。
换行与补全
回车默认是发送。要写多行,Shift 加回车最顺手;终端不认这个组合时,Ctrl+J 在多数环境都能用,Alt 加回车也可以,实在不行就把整段放进文件输入。输入 / 时按 Tab 能补全斜杠命令,路径也能补全,记不住命令名时很有用。补全只负责省打字,不会替你确认命令的含义,选中后仍要扫一眼再回车。
终端对 Shift 加回车的支持差异很大:有的原生识别,有的需要先做一次终端配置,老的远程终端可能完全不认。写多行前先花十秒试一次,不行就换 Ctrl+J。完整的兼容性清单和备选写法,放在多行输入里讲。
粘贴也值得提前确认。Linux 和 Windows 终端多用 Ctrl+Shift+V,macOS 用 Cmd+V;粘贴多行内容时,现代终端会一次性送入,不会逐行提交。如果粘进去的内容被拆成好几条消息,说明括号粘贴没生效,先存成文件再读,别在键位上反复试。
多开与分工
一个人同时推进两件事,常见做法是开两个终端窗口,或者用 tmux 分屏:左边跑开发服务,右边跑对话,报错直接问。两个实例各有自己的会话,互不串上下文。配合代码仓库的多工作区功能,还能让两个实例分别在不同分支上干活。
需要并排看文件时,也可以在编辑器里开终端面板。注意每个实例都有自己的工作目录,别在 A 目录启动却以为改的是 B 目录。
tmux 的几个默认操作值得记住:前缀键加百分号做左右分屏,前缀键加引号做上下分屏,前缀键加方向键切换窗格,前缀键加 d 把整个会话放到后台,tmux a 加会话名重新接上。默认前缀是 Ctrl+B,正好和部分行编辑组合冲突,遇到按键被吞,连按两次前缀就能把这一下传给里面的程序。
并行的另一个前提是任务真的独立。两个实例同时改同一批文件,冲突还是要人来收拾;更稳的分法是按目录或分支拆开,各管一块。
常见故障:按了没反应,或反应不对
| 现象 | 为什么 | 怎么办 |
|---|---|---|
| Shift 加回车直接发出去了 | 终端没把这个组合识别成换行 | 改用 Ctrl+J、反斜杠加回车,或文件输入 |
| 按 Ctrl+C 后还在输出 | 中断信号还没传到,或网络在缓冲 | 再按一次或按住不放;仍不行就等这一轮结束 |
| 方向键只能翻本次会话 | 历史写入方式与实例数量有关 | 确认是否开了多个实例;历史管理见命令历史一节 |
| Ctrl+D 没退出,反而少了一个字 | 输入框里有内容,它优先当删除键 | 先按 Ctrl+U 清空,再按 Ctrl+D |
| 连按两次 Esc 没进入历史选择 | 版本实现不同,或间隔太长 | 放慢节奏再试,或直接用上下方向键 |
| 粘贴的多行被逐条发送 | 终端未启用括号粘贴 | 存成文件用输入重定向,或先查终端设置 |
| 自定义组合键完全无效 | 工具本身不暴露键位配置 | 通过终端行编辑配置做映射,属非官方路径 |
| Ctrl+Z 没反应 | 当前是 Windows 原生环境 | 用新开窗口或标签页代替挂起 |
处理顺序建议固定下来:先确认输入框里有没有内容,再确认终端有没有截走组合键,最后才怀疑版本差异。顺序反了,会在重装和改配置上浪费很多时间。
边界:哪些情况别硬用快捷键
快捷键解决的是「手离开主键区」的损耗,不是所有场景都值得。写超过一屏的长提示词,终端里改起来始终别扭,直接进编辑器或存文件更合适;需要反复对比两版文本,图形界面的差异工具更直观;团队协作时,把提示词放进版本库比留在历史记录里可靠。
按键组合也会随版本和平台调整,遇到与本文不一致的地方,以你自己的终端为准。真正值得先练的只有四个:Ctrl+C 停、Esc 打断、Ctrl+R 找、Ctrl+L 清屏。剩下的等用到再查。多行输入是最值得接着练的一项,下一节专门讲:多行输入;想系统管理历史记录,看命令历史;需要把进程放后台跑长任务,配合后台 bash 命令一起用。
自测
先自己回答,再展开对照;答不上来就回到对应小节。01Ctrl+C 和 Esc 都能停下输出,区别是什么?看答案
Ctrl+C 中断当前操作,空闲时第一下清空输入、第二下退出;Esc 打断本轮生成或关闭弹窗,输入框有草稿时连按两次才清空。Ctrl+D 主要用于退出,有字时会删掉光标后的字符。
02Ctrl+L 之后,之前聊过的内容它还记得吗?看答案
记得。Ctrl+L 只清理屏幕显示,对话上下文没有变化;要让它忘掉前文,得用清空对话的命令。