> ## Documentation Index
> Fetch the complete documentation index at: https://ophel.app/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# 键盘快捷键：自定义每个 Ophel 操作

> 在设置 → 快捷键中查看并重映射所有 Ophel 键盘快捷键，支持冲突检测与按操作启用/禁用控制。

export const ShortcutLegend = ({lang = "en"}) => {
  const isZh = lang === "zh";
  return <div className="ophel-shortcut-legend" role="note">
      <div className="ophel-shortcut-legend-title">
        {isZh ? "跨平台按键说明" : "Cross-platform key mapping"}
      </div>
      <div className="ophel-shortcut-legend-body">
        {isZh ? <>
            文档中的快捷键会同时显示 Windows/Linux 与 Mac 写法：
            <code>Ctrl</code> 对应 <code>Command</code>，
            <code>Alt</code> 对应 <code>Option</code>。唯一例外是提示词发送，
            <code>Ctrl+Enter</code> 在 Mac 上也使用 <code>Ctrl+Enter</code>。
          </> : <>
            Shortcuts show both Windows/Linux and Mac keys: <code>Ctrl</code> maps
            to <code>Command</code>, and <code>Alt</code> maps to
            <code>Option</code>. Prompt submit is the only exception:
            <code>Ctrl+Enter</code> remains <code>Ctrl+Enter</code> on Mac.
          </>}
      </div>
    </div>;
};

export const Shortcut = ({combo, mac, sameOnMac = false}) => {
  const keyLabels = {
    arrowup: {
      win: "Up",
      mac: "↑"
    },
    arrowdown: {
      win: "Down",
      mac: "↓"
    },
    arrowleft: {
      win: "Left",
      mac: "←"
    },
    arrowright: {
      win: "Right",
      mac: "→"
    },
    up: {
      win: "Up",
      mac: "↑"
    },
    down: {
      win: "Down",
      mac: "↓"
    },
    left: {
      win: "Left",
      mac: "←"
    },
    right: {
      win: "Right",
      mac: "→"
    },
    esc: {
      win: "Esc",
      mac: "Esc"
    },
    escape: {
      win: "Esc",
      mac: "Esc"
    },
    enter: {
      win: "Enter",
      mac: "Enter"
    },
    shift: {
      win: "Shift",
      mac: "⇧"
    },
    backslash: {
      win: "\\",
      mac: "\\"
    }
  };
  const modifierLabels = {
    ctrl: {
      win: "Ctrl",
      mac: "⌘"
    },
    control: {
      win: "Ctrl",
      mac: "⌘"
    },
    cmd: {
      win: "Ctrl",
      mac: "⌘"
    },
    command: {
      win: "Ctrl",
      mac: "⌘"
    },
    alt: {
      win: "Alt",
      mac: "⌥"
    },
    option: {
      win: "Alt",
      mac: "⌥"
    },
    shift: {
      win: "Shift",
      mac: "⇧"
    }
  };
  const normalizeToken = token => String(token || "").trim();
  const formatKey = (token, platform) => {
    const normalized = normalizeToken(token);
    const key = normalized.toLowerCase();
    const mapped = keyLabels[key];
    if (mapped) return mapped[platform];
    if (normalized.length === 1) return normalized.toUpperCase();
    return normalized;
  };
  const formatCombo = (value, platform) => String(value || "").split("+").map(normalizeToken).filter(Boolean).map(token => {
    const mapped = modifierLabels[token.toLowerCase()];
    return mapped ? mapped[platform] : formatKey(token, platform);
  }).join(platform === "mac" ? "" : "+");
  const windowsLabel = formatCombo(combo, "win");
  const macLabel = sameOnMac ? windowsLabel : mac || formatCombo(combo, "mac");
  const title = windowsLabel === macLabel ? windowsLabel : `Windows/Linux: ${windowsLabel}; Mac: ${macLabel}`;
  return <span className="ophel-shortcut" title={title}>
      <code>{windowsLabel}</code>
      {windowsLabel !== macLabel && <>
          <span className="ophel-shortcut-separator"> / </span>
          <code>{macLabel}</code>
        </>}
    </span>;
};

export const Icon = ({src, alt}) => <img src={typeof window !== "undefined" && typeof src === "string" && src.startsWith("/images/icons/") && (window.location.pathname === "/docs" || window.location.pathname.startsWith("/docs/")) ? `/docs${src}` : src} alt={alt} width="18" height="18" style={{
  display: "inline-block",
  verticalAlign: "-0.2em",
  margin: "0 0.15em"
}} />;

Ophel 为几乎所有操作提供了键盘快捷键——打开面板、导航大纲、管理会话、触发全局搜索等。每个快捷键均可自定义：重新映射按键、移除不常用的快捷键，或通过一个开关一键禁用所有快捷键。

## 查看与编辑快捷键

1. 打开**设置**（<Shortcut combo="alt+," />）
2. 进入**快捷键**
3. 点击任意快捷键行即可录入新的组合键
4. 点击行末的 **×** 可删除该快捷键
5. 使用顶部的**启用快捷键**开关可一键禁用所有快捷键

保存前 Ophel 会自动检查冲突。若新组合键已被占用，系统会标出冲突项，你可以改键或先移除旧绑定。

<ShortcutLegend lang="zh" />

## 快捷键参考

<AccordionGroup>
  <Accordion title="面板">
    | 操作                                                                         | 默认快捷键                              |
    | -------------------------------------------------------------------------- | ---------------------------------- |
    | <Icon src="/docs/images/icons/sparkle.svg" alt="面板图标" /> 打开/关闭面板                | <Shortcut combo="alt+p" />         |
    | <Icon src="/docs/images/icons/snap-to-edge.svg" alt="面板模式图标" /> 切换面板模式（吸附 / 悬浮） | <Shortcut combo="alt+m" />         |
    | <Icon src="/docs/images/icons/outline.svg" alt="大纲图标" /> 切换到大纲标签                | <Shortcut combo="alt+1" />         |
    | <Icon src="/docs/images/icons/conversation.svg" alt="会话图标" /> 切换到会话标签           | <Shortcut combo="alt+2" />         |
    | <Icon src="/docs/images/icons/prompt.svg" alt="提示词图标" /> 切换到提示词标签               | <Shortcut combo="alt+3" />         |
    | <Icon src="/docs/images/icons/theme-system.svg" alt="主题图标" /> 切换亮色/暗色主题         | <Shortcut combo="alt+d" />         |
    | <Icon src="/docs/images/icons/settings.svg" alt="设置图标" /> 打开设置                  | <Shortcut combo="alt+," />         |
    | <Icon src="/docs/images/icons/keyboard.svg" alt="快捷键图标" /> 查看快捷键列表              | <Shortcut combo="alt+backslash" /> |
  </Accordion>

  <Accordion title="大纲">
    | 操作                                                                  | 默认快捷键                              |
    | ------------------------------------------------------------------- | ---------------------------------- |
    | <Icon src="/docs/images/icons/refresh.svg" alt="刷新图标" /> 刷新大纲            | <Shortcut combo="alt+r" />         |
    | <Icon src="/docs/images/icons/expand-all.svg" alt="展开图标" /> 一键展开/折叠全部    | <Shortcut combo="alt+e" />         |
    | <Icon src="/docs/images/icons/outline.svg" alt="标题层级图标" /> 展开到标题级别 1     | <Shortcut combo="alt+shift+1" />   |
    | <Icon src="/docs/images/icons/outline.svg" alt="标题层级图标" /> 展开到标题级别 2     | <Shortcut combo="alt+shift+2" />   |
    | <Icon src="/docs/images/icons/outline.svg" alt="标题层级图标" /> 展开到标题级别 3     | <Shortcut combo="alt+shift+3" />   |
    | <Icon src="/docs/images/icons/outline.svg" alt="标题层级图标" /> 展开到标题级别 4     | <Shortcut combo="alt+shift+4" />   |
    | <Icon src="/docs/images/icons/outline.svg" alt="标题层级图标" /> 展开到标题级别 5     | <Shortcut combo="alt+shift+5" />   |
    | <Icon src="/docs/images/icons/outline.svg" alt="标题层级图标" /> 展开到标题级别 6     | <Shortcut combo="alt+shift+6" />   |
    | <Icon src="/docs/images/icons/arrow-up.svg" alt="上一个标题图标" /> 跳转到上一个标题    | <Shortcut combo="alt+arrowup" />   |
    | <Icon src="/docs/images/icons/arrow-down.svg" alt="下一个标题图标" /> 跳转到下一个标题  | <Shortcut combo="alt+arrowdown" /> |
    | <Icon src="/docs/images/icons/user-query.svg" alt="我的问题图标" /> 切换"我的问题"过滤 | <Shortcut combo="alt+q" />         |
    | <Icon src="/docs/images/icons/user-query.svg" alt="仅我的问题图标" /> 仅我的问题模式   | <Shortcut combo="alt+shift+q" />   |
    | <Icon src="/docs/images/icons/star.svg" alt="书签图标" /> 切换书签过滤             | <Shortcut combo="alt+c" />         |
    | <Icon src="/docs/images/icons/locate.svg" alt="定位图标" /> 在大纲中定位当前位置       | <Shortcut combo="alt+l" />         |
    | <Icon src="/docs/images/icons/search.svg" alt="搜索图标" /> 搜索大纲             | <Shortcut combo="alt+f" />         |
  </Accordion>

  <Accordion title="会话">
    | 操作                                                                | 默认快捷键                             |
    | ----------------------------------------------------------------- | --------------------------------- |
    | <Icon src="/docs/images/icons/conversation.svg" alt="新建对话图标" /> 新建对话   | <Shortcut combo="ctrl+shift+o" /> |
    | <Icon src="/docs/images/icons/refresh.svg" alt="刷新图标" /> 刷新会话列表        | <Shortcut combo="alt+shift+r" />  |
    | <Icon src="/docs/images/icons/locate.svg" alt="定位图标" /> 定位当前会话         | <Shortcut combo="alt+shift+l" />  |
    | <Icon src="/docs/images/icons/chevron-up.svg" alt="上一个会话图标" /> 上一个会话   | <Shortcut combo="alt+[" />        |
    | <Icon src="/docs/images/icons/chevron-down.svg" alt="下一个会话图标" /> 下一个会话 | <Shortcut combo="alt+]" />        |
  </Accordion>

  <Accordion title="编辑与操作">
    | 操作                                                                  | 默认快捷键                             |
    | ------------------------------------------------------------------- | --------------------------------- |
    | <Icon src="/docs/images/icons/clear.svg" alt="停止图标" /> 停止 AI 生成          | <Shortcut combo="alt+k" />        |
    | <Icon src="/docs/images/icons/edit.svg" alt="输入框图标" /> 聚焦到输入框            | <Shortcut combo="alt+i" />        |
    | <Icon src="/docs/images/icons/search.svg" alt="全局搜索图标" /> 打开全局搜索         | <Shortcut combo="ctrl+k" />       |
    | <Icon src="/docs/images/icons/export.svg" alt="导出图标" /> 导出当前对话           | <Shortcut combo="ctrl+shift+e" /> |
    | <Icon src="/docs/images/icons/copy.svg" alt="复制图标" /> 复制最新 AI 回复         | <Shortcut combo="ctrl+shift+c" /> |
    | <Icon src="/docs/images/icons/copy.svg" alt="复制代码图标" /> 复制最后一个代码块        | <Shortcut combo="alt+;" />        |
    | <Icon src="/docs/images/icons/scroll-lock.svg" alt="滚动锁定图标" /> 切换滚动锁定    | <Shortcut combo="alt+s" />        |
    | <Icon src="/docs/images/icons/eye.svg" alt="禅模式图标" /> 切换禅模式              | <Shortcut combo="ctrl+shift+z" /> |
    | <Icon src="/docs/images/icons/prompt-queue.svg" alt="提示词队列图标" /> 切换提示词队列 | <Shortcut combo="alt+j" />        |
    | <Icon src="/docs/images/icons/model-lock.svg" alt="模型选择器图标" /> 显示模型选择器   | <Shortcut combo="alt+/" />        |
  </Accordion>

  <Accordion title="导航">
    | 操作                                                                  | 默认快捷键                      |
    | ------------------------------------------------------------------- | -------------------------- |
    | <Icon src="/docs/images/icons/scroll-top.svg" alt="滚到顶部图标" /> 滚动到对话顶部    | <Shortcut combo="alt+t" /> |
    | <Icon src="/docs/images/icons/scroll-bottom.svg" alt="滚到底部图标" /> 滚动到对话底部 | <Shortcut combo="alt+b" /> |
    | <Icon src="/docs/images/icons/anchor.svg" alt="锚点图标" /> 返回锚点位置           | <Shortcut combo="alt+z" /> |
  </Accordion>

  <Accordion title="站点特定">
    | 操作                                                                             | 默认快捷键                           |
    | ------------------------------------------------------------------------------ | ------------------------------- |
    | <Icon src="/docs/images/icons/settings.svg" alt="Claude 设置图标" /> 打开 Claude 设置       | <Shortcut combo="ctrl+alt+c" /> |
    | <Icon src="/docs/images/icons/keyboard.svg" alt="Claude Key 切换图标" /> 切换 Claude 会话密钥 | <Shortcut combo="ctrl+alt+s" /> |
    | <Icon src="/docs/images/icons/settings.svg" alt="Gemini 设置图标" /> 打开 Gemini 设置       | <Shortcut combo="ctrl+alt+g" /> |
    | <Icon src="/docs/images/icons/theme-system.svg" alt="主题设置图标" /> 打开主题设置              | <Shortcut combo="ctrl+alt+t" /> |
    | <Icon src="/docs/images/icons/model-lock.svg" alt="模型锁定图标" /> 打开模型锁定设置              | <Shortcut combo="ctrl+alt+l" /> |
  </Accordion>
</AccordionGroup>

## 全局 URL

在**设置 → 快捷键**中，你可以配置一个**全局 URL**——浏览器全局快捷键（在浏览器扩展快捷键页面设置）将打开该 URL。这让你可以通过单次按键直接跳转到任意 AI 平台，即使浏览器当前聚焦在其他标签页上也同样有效。
