Keybinds
Personalizza le tue scorciatoie da tastiera.
OpenCode ha un elenco di scorciatoie da tastiera che puoi personalizzare tramite la configurazione di 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" }}Tasto leader
OpenCode utilizza un tasto leader per la maggior parte delle scorciatoie da tastiera. Questo evita conflitti nel tuo terminale.
Per impostazione predefinita, ctrl+x e il tasto leader e la maggior parte delle azioni richiedono di premere prima il tasto leader e poi la scorciatoia. Ad esempio, per avviare una nuova sessione premi prima ctrl+x e poi premi n.
Non devi usare un tasto leader per le tue scorciatoie da tastiera, ma lo consigliamo.
Disabilitare keybind
Puoi disabilitare una scorciatoia aggiungendo la chiave alla tua configurazione con il valore “none”.
{ "$schema": "https://opencode.ai/config.json", "keybinds": { "session_compact": "none" }}Scorciatoie del prompt desktop
L’input del prompt dell’applicazione desktop OpenCode supporta scorciatoie comuni in stile Readline/Emacs per la modifica del testo. Queste sono integrate e attualmente non configurabili tramite opencode.json.
| Scorciatoia | Azione |
|---|---|
ctrl+a | Spostarsi all’inizio della riga corrente |
ctrl+e | Spostarsi alla fine della riga corrente |
ctrl+b | Spostare il cursore indietro di un carattere |
ctrl+f | Spostare il cursore in avanti di un carattere |
alt+b | Spostare il cursore indietro di una parola |
alt+f | Spostare il cursore in avanti di una parola |
ctrl+d | Eliminare il carattere sotto il cursore |
ctrl+k | Kill fino alla fine della riga |
ctrl+u | Kill fino all’inizio della riga |
ctrl+w | Kill la parola precedente |
alt+d | Kill la parola successiva |
ctrl+t | Trasporre i caratteri |
ctrl+g | Annullare popover / interrompi la risposta in esecuzione |
Maiusc+Invio
Alcuni terminali non inviano tasti di modifica con Invio per impostazione predefinita. Potrebbe essere necessario configurare il terminale per inviare Maiusc+Invio come una sequenza di escape.
Windows Terminal
Apri il tuo settings.json in:
%LOCALAPPDATA%\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\settings.jsonAggiungi questo all’array actions di livello root:
"actions": [ { "command": { "action": "sendInput", "input": "\u001b[13;2u" }, "id": "User.sendInput.ShiftEnterCustom" }]Aggiungi questo all’array keybindings di livello root:
"keybindings": [ { "keys": "shift+enter", "id": "User.sendInput.ShiftEnterCustom" }]Salva il file e riavvia Windows Terminal o apri una nuova scheda.