自定义您的快捷键。
OpenCode 有一系列快捷键,您可以通过 OpenCode 配置进行自定义。
{
"$schema": "https://opencode.ai/config.json",
"keybinds": {
"leader": "ctrl+x",
"app_exit": "ctrl+c,ctrl+d,<leader>q",
"editor_open": "<leader>e",
"theme_list": "<leader>t",
"sidebar_toggle": "<leader>b",
"status_view": "<leader>s",
"session_export": "<leader>x",
"session_new": "<leader>n",
"session_list": "<leader>l",
"session_timeline": "<leader>g",
"session_share": "none",
"session_unshare": "none",
"session_interrupt": "escape",
"session_compact": "<leader>c",
"session_child_cycle": "ctrl+right",
"session_child_cycle_reverse": "ctrl+left",
"messages_page_up": "pageup",
"messages_page_down": "pagedown",
"messages_half_page_up": "ctrl+alt+u",
"messages_half_page_down": "ctrl+alt+d",
"messages_first": "ctrl+g,home",
"messages_last": "ctrl+alt+g,end",
"messages_copy": "<leader>y",
"messages_undo": "<leader>u",
"messages_redo": "<leader>r",
"messages_toggle_conceal": "<leader>h",
"model_list": "<leader>m",
"model_cycle_recent": "f2",
"model_cycle_recent_reverse": "shift+f2",
"command_list": "ctrl+p",
"agent_list": "<leader>a",
"agent_cycle": "tab",
"agent_cycle_reverse": "shift+tab",
"input_clear": "ctrl+c",
"input_forward_delete": "ctrl+d",
"input_paste": "ctrl+v",
"input_submit": "enter",
"input_newline": "shift+enter,ctrl+j",
"history_previous": "up",
"history_next": "down"
}
}
OpenCode 使用 leader 键作为大多数快捷键的前缀。这可以避免在终端中发生冲突。
默认情况下,ctrl+x 是 leader 键,大多数操作需要您先按下 leader 键,然后按下快捷键。例如,要开始新会话,您先按 ctrl+x,然后按 n。
您不必在快捷键中使用 leader 键,但我们建议这样做。
您可以通过在配置中将键的值设置为 "none" 来禁用快捷键。
{
"$schema": "https://opencode.ai/config.json",
"keybinds": {
"session_compact": "none"
}
}
app_exit - 退出应用(默认:ctrl+c, ctrl+d, <leader>q)leader - Leader 键(默认:ctrl+x)editor_open - 打开编辑器(默认:<leader>e)theme_list - 显示主题列表(默认:<leader>t)sidebar_toggle - 切换侧边栏(默认:<leader>b)status_view - 显示状态视图(默认:<leader>s)session_export - 导出会话(默认:<leader>x)session_new - 新建会话(默认:<leader>n)session_list - 显示会话列表(默认:<leader>l)session_timeline - 显示会话时间线(默认:<leader>g)session_share - 分享会话(默认:none)session_unshare - 取消分享会话(默认:none)session_interrupt - 中断会话(默认:escape)session_compact - 压缩会话(默认:<leader>c)session_child_cycle - 循环切换子会话(默认:ctrl+right)session_child_cycle_reverse - 反向循环切换子会话(默认:ctrl+left)messages_page_up - 向上翻页(默认:pageup)messages_page_down - 向下翻页(默认:pagedown)messages_half_page_up - 向上翻半页(默认:ctrl+alt+u)messages_half_page_down - 向下翻半页(默认:ctrl+alt+d)messages_first - 跳到第一条消息(默认:ctrl+g, home)messages_last - 跳到最后一条消息(默认:ctrl+alt+g, end)messages_copy - 复制消息(默认:<leader>y)messages_undo - 撤销操作(默认:<leader>u)messages_redo - 重做操作(默认:<leader>r)messages_toggle_conceal - 切换隐藏模式(默认:<leader>h)model_list - 显示模型列表(默认:<leader>m)model_cycle_recent - 切换到最近的模型(默认:f2)model_cycle_recent_reverse - 反向切换到最近的模型(默认:shift+f2)command_list - 显示命令列表(默认:ctrl+p)agent_list - 显示 Agent 列表(默认:<leader>a)agent_cycle - 循环切换 Agent(默认:tab)agent_cycle_reverse - 反向循环切换 Agent(默认:shift+tab)input_clear - 清除输入(默认:ctrl+c)input_forward_delete - 前向删除(默认:ctrl+d)input_paste - 粘贴(默认:ctrl+v)input_submit - 提交输入(默认:enter)input_newline - 新行(默认:shift+enter, ctrl+j)history_previous - 上一条历史记录(默认:up)history_next - 下一条历史记录(默认:down)