Aller au contenu

Raccourcis clavier

Personnalisez vos raccourcis clavier.

OpenCode a une liste de raccourcis clavier que vous pouvez personnaliser via la configuration OpenCode.

opencode.json
{
"$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",
"scrollbar_toggle": "none",
"username_toggle": "none",
"status_view": "<leader>s",
"tool_details": "none",
"session_export": "<leader>x",
"session_new": "<leader>n",
"session_list": "<leader>l",
"session_timeline": "<leader>g",
"session_fork": "none",
"session_rename": "none",
"session_share": "none",
"session_unshare": "none",
"session_interrupt": "escape",
"session_compact": "<leader>c",
"session_child_cycle": "<leader>right",
"session_child_cycle_reverse": "<leader>left",
"session_parent": "<leader>up",
"messages_page_up": "pageup,ctrl+alt+b",
"messages_page_down": "pagedown,ctrl+alt+f",
"messages_line_up": "ctrl+alt+y",
"messages_line_down": "ctrl+alt+e",
"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_next": "none",
"messages_previous": "none",
"messages_copy": "<leader>y",
"messages_undo": "<leader>u",
"messages_redo": "<leader>r",
"messages_last_user": "none",
"messages_toggle_conceal": "<leader>h",
"model_list": "<leader>m",
"model_cycle_recent": "f2",
"model_cycle_recent_reverse": "shift+f2",
"model_cycle_favorite": "none",
"model_cycle_favorite_reverse": "none",
"variant_cycle": "ctrl+t",
"command_list": "ctrl+p",
"agent_list": "<leader>a",
"agent_cycle": "tab",
"agent_cycle_reverse": "shift+tab",
"input_clear": "ctrl+c",
"input_paste": "ctrl+v",
"input_submit": "return",
"input_newline": "shift+return,ctrl+return,alt+return,ctrl+j",
"input_move_left": "left,ctrl+b",
"input_move_right": "right,ctrl+f",
"input_move_up": "up",
"input_move_down": "down",
"input_select_left": "shift+left",
"input_select_right": "shift+right",
"input_select_up": "shift+up",
"input_select_down": "shift+down",
"input_line_home": "ctrl+a",
"input_line_end": "ctrl+e",
"input_select_line_home": "ctrl+shift+a",
"input_select_line_end": "ctrl+shift+e",
"input_visual_line_home": "alt+a",
"input_visual_line_end": "alt+e",
"input_select_visual_line_home": "alt+shift+a",
"input_select_visual_line_end": "alt+shift+e",
"input_buffer_home": "home",
"input_buffer_end": "end",
"input_select_buffer_home": "shift+home",
"input_select_buffer_end": "shift+end",
"input_delete_line": "ctrl+shift+d",
"input_delete_to_line_end": "ctrl+k",
"input_delete_to_line_start": "ctrl+u",
"input_backspace": "backspace,shift+backspace",
"input_delete": "ctrl+d,delete,shift+delete",
"input_undo": "ctrl+-,super+z",
"input_redo": "ctrl+.,super+shift+z",
"input_word_forward": "alt+f,alt+right,ctrl+right",
"input_word_backward": "alt+b,alt+left,ctrl+left",
"input_select_word_forward": "alt+shift+f,alt+shift+right",
"input_select_word_backward": "alt+shift+b,alt+shift+left",
"input_delete_word_forward": "alt+d,alt+delete,ctrl+delete",
"input_delete_word_backward": "ctrl+w,ctrl+backspace,alt+backspace",
"history_previous": "up",
"history_next": "down",
"terminal_suspend": "ctrl+z",
"terminal_title_toggle": "none",
"tips_toggle": "<leader>h",
"display_thinking": "none"
}
}

Leader key

OpenCode utilise une touche leader pour la plupart des raccourcis clavier. Cela évite les conflits dans votre terminal.

Par défaut, ctrl+x est la touche leader et la plupart des actions nécessitent que vous appuyiez d’abord sur la touche leader, puis sur le raccourci. Par exemple, pour démarrer une nouvelle session, appuyez d’abord sur ctrl+x, puis sur n.

Vous n’avez pas besoin d’utiliser une touche leader pour vos raccourcis clavier, mais nous vous recommandons de le faire.


Désactiver le raccourci clavier

Vous pouvez désactiver un raccourci clavier en ajoutant la clé à votre configuration avec la valeur « aucun ».

opencode.json
{
"$schema": "https://opencode.ai/config.json",
"keybinds": {
"session_compact": "none"
}
}

Raccourcis d’invite du bureau

L’entrée d’invite de l’application de bureau OpenCode prend en charge les raccourcis courants de style Readline/Emacs pour l’édition de texte. Ceux-ci sont intégrés et actuellement non configurables via opencode.json.

RaccourciActions
ctrl+aDéplacer au début de la ligne actuelle
ctrl+eAller à la fin de la ligne actuelle
ctrl+bReculer le curseur d’un caractère
ctrl+fAvancer le curseur d’un caractère
alt+bReculer le curseur d’un mot
alt+fAvancer le curseur d’un mot
ctrl+dSupprimer le caractère sous le curseur
ctrl+kTuer jusqu’au bout de la ligne
ctrl+uTuer au début de la ligne
ctrl+wTuer le mot précédent
alt+dTuer le mot suivant
ctrl+tTransposer les caractères
ctrl+gAnnuler les popovers/abandonner l’exécution de la réponse

Maj+Entrée

Certains terminaux n’envoient pas de touches de modification avec Entrée par défaut. Vous devrez peut-être configurer votre terminal pour envoyer Shift+Enter comme séquence d’échappement.

Windows Terminal

Ouvrez votre settings.json à :

%LOCALAPPDATA%\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\settings.json

Ajoutez ceci au tableau actions de niveau racine :

"actions": [
{
"command": {
"action": "sendInput",
"input": "\u001b[13;2u"
},
"id": "User.sendInput.ShiftEnterCustom"
}
]

Ajoutez ceci au tableau keybindings de niveau racine :

"keybindings": [
{
"keys": "shift+enter",
"id": "User.sendInput.ShiftEnterCustom"
}
]

Enregistrez le fichier et redémarrez le terminal Windows ou ouvrez un nouvel onglet.