mirror of
https://github.com/aljazceru/opencode.git
synced 2025-12-23 02:34:21 +01:00
76 lines
2.1 KiB
Plaintext
76 lines
2.1 KiB
Plaintext
---
|
|
title: Keybinds
|
|
description: Customize your keybinds.
|
|
---
|
|
|
|
OpenCode has a list of keybinds that you can customize through the OpenCode config.
|
|
|
|
```json title="opencode.json"
|
|
{
|
|
"$schema": "https://opencode.ai/config.json",
|
|
"keybinds": {
|
|
"leader": "ctrl+x",
|
|
"app_help": "<leader>h",
|
|
"app_exit": "ctrl+c,<leader>q",
|
|
"editor_open": "<leader>e",
|
|
"theme_list": "<leader>t",
|
|
"project_init": "<leader>i",
|
|
"tool_details": "<leader>d",
|
|
"thinking_blocks": "<leader>b",
|
|
"session_export": "<leader>x",
|
|
"session_new": "<leader>n",
|
|
"session_list": "<leader>l",
|
|
"session_share": "<leader>s",
|
|
"session_unshare": "none",
|
|
"session_interrupt": "esc",
|
|
"session_compact": "<leader>c",
|
|
"session_child_cycle": "ctrl+right",
|
|
"session_child_cycle_reverse": "ctrl+left",
|
|
"messages_page_up": "pgup",
|
|
"messages_page_down": "pgdown",
|
|
"messages_half_page_up": "ctrl+alt+u",
|
|
"messages_half_page_down": "ctrl+alt+d",
|
|
"messages_first": "ctrl+g",
|
|
"messages_last": "ctrl+alt+g",
|
|
"messages_copy": "<leader>y",
|
|
"messages_undo": "<leader>u",
|
|
"messages_redo": "<leader>r",
|
|
"model_list": "<leader>m",
|
|
"model_cycle_recent": "f2",
|
|
"model_cycle_recent_reverse": "shift+f2",
|
|
"agent_list": "<leader>a",
|
|
"agent_cycle": "tab",
|
|
"agent_cycle_reverse": "shift+tab",
|
|
"input_clear": "ctrl+c",
|
|
"input_paste": "ctrl+v",
|
|
"input_submit": "enter",
|
|
"input_newline": "shift+enter,ctrl+j"
|
|
}
|
|
}
|
|
```
|
|
|
|
---
|
|
|
|
## Leader key
|
|
|
|
OpenCode uses a `leader` key for most keybinds. This avoids conflicts in your terminal.
|
|
|
|
By default, `ctrl+x` is the leader key and most actions require you to first press the leader key and then the shortcut. For example, to start a new session you first press `ctrl+x` and then press `n`.
|
|
|
|
You don't need to use a leader key for your keybinds but we recommend doing so.
|
|
|
|
---
|
|
|
|
## Disable keybind
|
|
|
|
You can disable a keybind by adding the key to your config with a value of "none".
|
|
|
|
```json title="opencode.json"
|
|
{
|
|
"$schema": "https://opencode.ai/config.json",
|
|
"keybinds": {
|
|
"session_compact": "none"
|
|
}
|
|
}
|
|
```
|