快捷键
AtomCode 的 TUI 是基于 ratatui + crossterm 构建的,常用快捷键尽量贴近主流终端工具的约定。在会话里输入 /keys 可以随时把这张表打印到当前 scrollback,/help 则查看所有斜杠命令。
输入编辑
| 按键 | 动作 |
|---|---|
Enter | 发送消息 |
\ 后接 Enter | 换行(所有终端通用 — 行尾反斜杠会被识别为续行) |
Alt+Enter | 换行(多数终端可用;macOS Apple Terminal 需在 Settings → Profiles → Keyboard 启用 "Use Option as Meta key";Windows Terminal 默认占用,可在设置里释放) |
Shift+Enter | 换行(仅以下终端区分 Shift+Enter 与 Enter:Kitty / WezTerm / iTerm2(需启用 Report Modifiers)/ Windows Terminal / Ghostty / Warp。Apple Terminal、xterm、GNOME Terminal、VS Code 集成终端不支持,请用 \ + Enter) |
Ctrl+Enter | 换行(需启用 Kitty 键盘协议的终端,如 Kitty、WezTerm 等) |
Ctrl+J | 换行(终端能区分该组合键时) |
Esc | 清空当前输入 / 打断正在流式输出的回复 |
Esc Esc | 输入框空闲且为空时撤销上一轮 |
↑ / ↓ | 浏览输入历史 |
→ | 将暗色的下一步提示填入空输入框(仍需单独按 Enter 发送) |
Ctrl+R | 反向搜索输入历史(输入关键字实时过滤;再次按 Ctrl+R 跳到下一个更旧的匹配;Enter 选中填入,Esc 取消) |
Tab | 接受斜杠命令、Skill 或文件补全 |
Shift+Tab | 无补全菜单时切换到下一个执行模式(流式输出期间也可切换) |
Ctrl+D | 删除当前字符;空闲且输入为空时,两秒内连按两次退出 |
Ctrl+B / Ctrl+F | 前移 / 后移一个字符 |
Ctrl+U | 删除从当前行首到光标的内容 |
Ctrl+W | 删除一个单词 |
Ctrl+K | 删除从光标到行尾的内容 |
Ctrl+A | 光标移到行首 |
Ctrl+E | 光标移到行尾 |
自定义换行快捷键
在 /config 中搜索“换行”,选择“快捷键 / 换行”。按 Enter 或 A 添加,按下想绑定的组合键后再按 Enter 确认。按 M 可手动填写逗号分隔的按键名(例如 alt+j, ctrl+j);录入时也可按 Tab 切到手动填写。Delete 移除选中绑定,Ctrl+D 恢复默认,Esc 返回。
[ui.keybindings]
newline = ["alt+j", "ctrl+j"]
此列表替换默认的换行组合键。保存后立即生效,/keys 展示实际绑定;\ + Enter 始终保留。设置空列表 newline = [] 可禁用换行组合键,删除 newline 配置项则恢复默认。与现有动作或保留按键冲突、重复或格式错误时拒绝保存并保留原绑定。
普通字符不能单独用作快捷键。支持 ctrl、alt、shift、cmd 修饰符,字母、数字、enter、space、方向键和 f1–f24 等按键名。终端或 IDE 拦截的组合键无法由 AtomCode 检测或释放;手动填写后仍须验证宿主能把它传入。
浏览与滚动
| 按键 | 动作 |
|---|---|
PageUp / PageDown | 主界面按可见高度翻页,保留一行重叠 |
鼠标滚轮 | 逐行滚动对话 |
/read | 打开终端内只读对话副本,展开工具输出,不依赖 GUI 或剪贴板 |
↑ / ↓ / j / k | 阅读模式:逐行滚动 |
PgUp / PgDn / Ctrl+B / Ctrl+F | 阅读模式:翻页 |
Ctrl+U / Ctrl+D | 阅读模式:翻半页 |
Home / End | 阅读模式:跳到首尾 |
Esc | 退出阅读模式,保留原输入草稿和主界面阅读位置;重新运行 /read 更新副本 |
选区与复制
| 按键 / 操作 | 动作 |
|---|---|
| 鼠标拖选 | 在聊天区选中文本(atomcode 接管,选区会自动滚动到边界) |
Shift+ 拖鼠标 | 用宿主终端原生选区(绕过 atomcode,适合跨视区多行复制) |
Ctrl+Shift+C | 复制选区到系统剪贴板 |
| 右键菜单 | 在某些终端中可直接复制/粘贴(取决于终端而非 atomcode) |
流程控制
| 按键 | 动作 |
|---|---|
F2 / Shift+F2 | 切换到下一个 / 上一个已配置模型;Mac 键盘通常按 Fn+F2 / Fn+Shift+F2 |
Ctrl+T | 循环切换当前模型的 reasoning_effort |
Ctrl+O | 显示 / 隐藏工具输出与思考过程(详细模式) |
Esc | 取消当前正在进行的工具调用或流式输出 |
Ctrl+C | 第一次:取消当前操作;连按第二次:退出程序 |
新界面(atomcode --tui)
新界面的按键大多与上面相同,以下几个不同;完整列表在会话里输入 /keys 查看。
| 按键 | 动作 |
|---|---|
Ctrl+O | 思考过程:一行 / 全文 / 收起,循环(也可用 /reasoning;终端把 Option 设成 Meta 时 Alt+R 同样可用) |
Ctrl+T | 工具输出:全部 / 单个摘要 / 成组摘要,循环;展开那一档连同答完的审批一起展开(鼠标交还终端、没法点击时就用它) |
Ctrl+G | 把鼠标交还终端(改用终端自己的框选),再按收回(也可用 /mouse)。交还期间滚轮 / 触摸板 / ↑ ↓ 滚动对话;配置 [ui] mouse = false 时启动即是这个状态 |
Ctrl+P / Ctrl+N | 浏览输入历史(随时可用;鼠标交还终端时 ↑ ↓ 用来滚动,翻历史用这两个键) |
Ctrl+X | 中断当前回合,并把排队中的消息立刻逐条发出(各带各的图);没有排队时就是普通中断 |
双击 Esc | 打开回退面板(同 /rewind),挑一条历史提示回退 |
工具权限对话框
当模型准备执行危险操作(破坏性 bash 命令、写敏感文件、删除源码等)时,AtomCode 会弹出一个确认对话框,此时:
| 按键 | 动作 |
|---|---|
y / Enter | 允许这一次 |
a | 本次会话内始终允许这种模式 |
n / Esc | 拒绝 |
别贪心
"始终允许"是按 工具名 + 参数模式 级别授予的,仅对当前会话生效,下次重启归零。如果你需要跨会话常驻的例外,请在配置层面处理(比如对某些路径做白名单)。