首页/文档/快捷键
文档全文

DeepSeek TUI 快捷键文档指南

快捷键文档的作用,是把“能用的 TUI”变成“顺手的 TUI”,重点在导航、面板控制和常用动作快捷方式。

上游源文件:KEYBINDINGS.md站内直接可读原文保留在下方

这份文档真正覆盖什么

快捷键文档的作用,是把“能用的 TUI”变成“顺手的 TUI”,重点在导航、面板控制和常用动作快捷方式。

怎么用这页

  • 先看右侧目录,直接跳到你当前最关心的小节。
  • 如果你只是来解决具体问题,优先读正文里的相关标题,再回站内对应 hub。
  • 如果你要核对原始来源,可以直接打开 GitHub 原文链接。

上游文档原文(英文)

Keybindings

This is the source-of-truth catalog of every keyboard shortcut the TUI recognizes. Bindings are grouped by context — the focus or modal state they fire in. A binding listed under "Composer" only takes effect when the composer is focused; one under "Transcript" only when the transcript has focus; and so on.

Bindings are not (yet) user-configurable — tracked for a future release (#436, #437). This document is the contract that future config-file overrides will name into.

Global (any context)

ChordAction
F1 or Ctrl-?Toggle the help overlay
Ctrl-KOpen the command palette (slash-command finder)
Ctrl-CCancel current turn / dismiss modal / arm-then-confirm quit
Ctrl-DQuit (only when the composer is empty)
TabCycle TUI mode: Plan → Agent → YOLO → Plan
Shift-TabCycle reasoning effort: off → high → max → off
Ctrl-ROpen the resume-session picker
Ctrl-LRefresh / clear the screen
Ctrl-TToggle the file-tree sidebar
EscClose topmost modal · cancel slash menu · dismiss toast

Composer

Editing the message you're about to send.

ChordAction
EnterSend the message (or run the slash command)
Alt-Enter / Ctrl-JInsert a newline without sending
Ctrl-UDelete to start of line
Ctrl-WDelete previous word
Ctrl-A / HomeMove to start of line
Ctrl-E / EndMove to end of line
Ctrl-← / Alt-←Move backward one word
Ctrl-→ / Alt-→Move forward one word
Ctrl-V / Cmd-VPaste from clipboard (also bracketed-paste auto-handled)
Ctrl-YYank (paste) from kill buffer
/ Cycle composer history (also selects popup/attachment items)
Ctrl-P / Ctrl-NCycle composer history (alternative)
Ctrl-SStash current draft (/stash list, /stash pop to recover)
Alt-RSearch prompt history (Alt-R to exit)
TabSlash-command / @-mention completion (popup-aware)
Ctrl-OOpen external editor for the composer draft

@ mentions

Type @<partial> to open the file mention popup. / cycle the entries, Tab or Enter accepts. Esc hides the popup. As of v0.8.10 (#441), completions are re-ranked by mention frecency — files you mention often + recently float to the top.

# quick-add (memory)

When [memory] enabled = true, typing # foo and pressing Enter appends foo as a timestamped bullet to your memory file without sending a turn. See docs/MEMORY.md.

Transcript (when transcript has focus)

ChordAction
/ / j / kScroll one line (v0.8.13+: bare arrows also scroll when composer empty)
PgUp / PgDnScroll one page
Home / gJump to top
End / GJump to bottom
EscReturn focus to composer
yYank selected region to clipboard
vBegin / extend visual selection
oOpen URL under cursor (OSC 8 capable terminals)
ChordAction
/ / j / kMove selection
EnterActivate the selected item (open / focus / cancel)
TabCycle to next sidebar panel (Files → Tasks → Agents → Todos)
EscReturn focus to composer

Slash-command palette (after Ctrl-K or typing /)

ChordAction
/ Move selection
Enter / TabRun / complete the highlighted command
EscDismiss palette

Approval modal (when a tool requests approval)

ChordAction
y / YApprove once
a / AApprove all (auto-approve subsequent calls)
n / N / EscDeny
eEdit the approved input before running

Onboarding (first-run flow)

ChordAction
EnterAdvance to next step (Welcome → Language → API → …)
EscStep back one screen
15Pick a language (Language step)
y / YTrust the workspace (Trust step)
n / NSkip the trust prompt

v0.8.13 audit notes

  • Ctrl-S is stash, not history search. Fixed in this revision — Alt-R is history search.
  • Phantom Alt+Up removed. The "Edit last queued message" binding was listed in README but never existed in the key dispatch code.
  • Bare Up/Down arrows scroll transcript when composer empty (v0.8.13). Previously the should_scroll_with_arrows gate was hardcoded to false, meaning bare arrows always navigated composer history even when the composer was empty. Users in virtual terminals (Ghostty, Codex, Kitty-protocol) were especially affected because they couldn't use Cmd+Up / Alt+Up shortcuts.
  • Configurable keymap (#436) and tui.toml (#437) remain deferred. The TuiPrefs struct and loader exist in settings.rs but are not wired at startup. The named-binding registry that would let ~/.deepseek/tui.toml override individual entries is still pending.
  • No other broken bindings found. Every other chord listed above resolves to a live handler in crates/tui/src/tui/ui.rs (key-event dispatch) or crates/tui/src/tui/app.rs (mode + state transitions).

回到顶部