Keybindings Configuration
Customize keyboard shortcuts to match your workflow and preferences.
📸 SCREENSHOT: keybindings-config.png
Keybindings configuration options
Configuration Location
Keybindings are configured in:
{ "keybinds": { "leader": "ctrl+x", "session_new": "<leader>n" }}Leader Key
The leader key is a prefix for many shortcuts:
Default Leader
{ "keybinds": { "leader": "ctrl+x" }}Alternative Leaders
{ "keybinds": { "leader": "ctrl+a" }}{ "keybinds": { "leader": "space" }}Key Syntax
Modifiers
| Modifier | Syntax |
|---|---|
| Control | ctrl |
| Alt/Option | alt |
| Shift | shift |
| Meta/Command | meta |
Combinations
ctrl+s # Ctrl + Salt+shift+p # Alt + Shift + Pctrl+shift+k # Ctrl + Shift + Kmeta+enter # Cmd/Win + EnterSpecial Keys
| Key | Syntax |
|---|---|
| Enter | enter |
| Escape | escape |
| Tab | tab |
| Space | space |
| Backspace | backspace |
| Delete | delete |
| Arrow Up | up |
| Arrow Down | down |
| Arrow Left | left |
| Arrow Right | right |
| Page Up | pageup |
| Page Down | pagedown |
| Home | home |
| End | end |
Leader Reference
<leader>n # Leader + N<leader>m # Leader + MChord Sequences
ctrl+x,ctrl+c # Ctrl+X then Ctrl+C<leader>g,s # Leader+G then SAvailable Actions
Session Actions
{ "keybinds": { "session_new": "<leader>n", "session_list": "<leader>l", "session_compact": "<leader>c", "session_timeline": "<leader>g", "session_rename": "ctrl+r", "session_export": "<leader>x" }}Navigation Actions
{ "keybinds": { "scroll_up": "ctrl+u", "scroll_down": "ctrl+d", "go_top": "g", "go_bottom": "G", "undo": "u", "redo": "ctrl+r" }}Dialog Actions
{ "keybinds": { "model_list": "<leader>m", "agent_list": "<leader>a", "theme_list": "<leader>t", "command_palette": "<leader><leader>" }}Interface Actions
{ "keybinds": { "sidebar_toggle": "<leader>b", "status_view": "<leader>s", "editor_open": "<leader>e" }}Application Actions
{ "keybinds": { "app_exit": "ctrl+c,ctrl+d,<leader>q" }}Input Actions
{ "keybinds": { "submit": "enter", "newline": "shift+enter", "cancel": "ctrl+c", "autocomplete": "tab" }}Full Configuration Example
{ "keybinds": { "leader": "ctrl+x",
"session_new": "<leader>n", "session_list": "<leader>l", "session_compact": "<leader>c", "session_timeline": "<leader>g", "session_rename": "ctrl+r", "session_export": "<leader>x",
"model_list": "<leader>m", "agent_list": "<leader>a", "theme_list": "<leader>t", "command_palette": "<leader><leader>",
"sidebar_toggle": "<leader>b", "status_view": "<leader>s", "editor_open": "<leader>e",
"scroll_up": "ctrl+u", "scroll_down": "ctrl+d", "go_top": "g", "go_bottom": "G", "undo": "u",
"app_exit": "ctrl+c,ctrl+d,<leader>q" }}Multiple Bindings
Assign multiple shortcuts to one action:
{ "keybinds": { "app_exit": "ctrl+c,ctrl+d,<leader>q", "model_list": "<leader>m,ctrl+shift+m" }}Comma separates alternative bindings, not chord sequences.
Vim Mode Keybindings
Enable Vim Mode
{ "vim": { "enabled": true }}Vim Normal Mode
These work when vim mode is enabled:
| Key | Action |
|---|---|
i | Insert mode |
a | Append |
A | Append at end |
o | New line below |
O | New line above |
dd | Delete line |
yy | Yank line |
p | Paste |
u | Undo |
Vim Movement
| Key | Action |
|---|---|
h | Left |
l | Right |
j | Down |
k | Up |
w | Next word |
b | Previous word |
0 | Start of line |
$ | End of line |
gg | Start of input |
G | End of input |
Custom Vim Bindings
{ "vim": { "enabled": true, "keybinds": { "normal": { "jj": "escape" } } }}Dialog Keybindings
When in dialogs (model selection, etc.):
{ "keybinds": { "dialog_up": "up,k,ctrl+p", "dialog_down": "down,j,ctrl+n", "dialog_select": "enter,tab", "dialog_close": "escape,q", "dialog_filter": "/", "dialog_favorite": "ctrl+f", "dialog_delete": "ctrl+d" }}Permission Prompt Keybindings
{ "keybinds": { "permission_approve": "y", "permission_approve_always": "a", "permission_reject": "n,escape" }}Platform-Specific Bindings
macOS
{ "keybinds": { "leader": "meta+x", "app_exit": "meta+q" }}Linux/Windows
{ "keybinds": { "leader": "ctrl+x", "app_exit": "alt+f4" }}Conditional Platform Bindings
{ "keybinds": { "leader": { "darwin": "meta+x", "linux": "ctrl+x", "win32": "ctrl+x" } }}Resetting Keybindings
Reset Specific Binding
cyberstrike config unset keybinds.session_newReset All Bindings
cyberstrike config unset keybindsView Defaults
cyberstrike config get keybinds --defaultsTroubleshooting
Keybinding Not Working
- Check for conflicts with terminal
- Verify syntax is correct
- Ensure config is valid JSON
Check Active Bindings
cyberstrike config get keybindsTest Specific Binding
In Cyberstrike, use the command palette (<leader><leader>) to verify bindings are registered.
Tip
Use /help in Cyberstrike to see a quick reference of active keybindings.
Related Documentation
- Keyboard Shortcuts - Full shortcut reference
- Global Config - Configuration guide
- Vim Mode - Vim keybindings