Keybinds
Personnalisez vos raccourcis clavier.
OpenCode a une liste de raccourcis clavier que vous pouvez personnaliser via la configuration 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", "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", "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_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" }}Touche leader
OpenCode utilise une touche leader pour la plupart des raccourcis clavier. Cela evite les conflits dans votre terminal.
Par defaut, ctrl+x est la touche leader et la plupart des actions necessitent que vous appuyiez d’abord sur la touche leader puis sur le raccourci. Par exemple, pour demarrer une nouvelle session, vous 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 le recommandons.
Desactiver un raccourci
Vous pouvez desactiver un raccourci en ajoutant la cle a votre configuration avec la valeur “none”.
{ "$schema": "https://opencode.ai/config.json", "keybinds": { "session_compact": "none" }}Raccourcis du prompt du bureau
L’entree du prompt de l’application de bureau OpenCode prend en charge les raccourcis de style Readline/Emacs courants pour l’edition de texte. Ceux-ci sont integres et actuellement non configurables via opencode.json.
| Raccourci | Action |
|---|---|
ctrl+a | Deplacer au debut de la ligne actuelle |
ctrl+e | Deplacer a la fin de la ligne actuelle |
ctrl+b | Deplacer le curseur d’un caractere vers l’arriere |
ctrl+f | Deplacer le curseur d’un caractere vers l’avant |
alt+b | Deplacer le curseur d’un mot vers l’arriere |
alt+f | Deplacer le curseur d’un mot vers l’avant |
ctrl+d | Supprimer le caractere sous le curseur |
ctrl+k | Supprimer jusqu’a la fin de la ligne |
ctrl+u | Supprimer jusqu’au debut de la ligne |
ctrl+w | Supprimer le mot precedent |
alt+d | Supprimer le mot suivant |
ctrl+t | Transposer les caracteres |
ctrl+g | Annuler les fenetres contextuelles / interrompre la reponse en cours |
Shift+Enter
Certains terminaux n’envoient pas de touches de modification avec Entree par defaut. Vous devrez peut-etre configurer votre terminal pour envoyer Shift+Enter comme une sequence d’echappement.
Windows Terminal
Ouvrez votre settings.json a l’emplacement :
%LOCALAPPDATA%\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\settings.jsonAjoutez 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 redemarrez Windows Terminal ou ouvrez un nouvel onglet.