1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# Example configuration file with keymap overrides
# This shows how to customize key bindings beyond the preset
= "default"
= "/tmp/dotstate-storage"
= "dotstate-storage"
= "main"
= true
= false
= []
= "dark"
[]
# Choose a base preset: "standard", "vim", or "emacs"
= "vim"
# Override specific key bindings
# Overrides take precedence over preset bindings
# Format: key = "action"
# Key format examples: "j", "ctrl+n", "f1", "ctrl+shift+n"
# Action names use snake_case: move_up, move_down, move_left, move_right, confirm, cancel, quit, help, etc.
[[]]
= "x"
= "quit"
# This makes 'x' quit the app (overriding the default 'q' in vim preset)
[[]]
= "w"
= "move_up"
# This makes 'w' move up (normally 'k' in vim preset)
[[]]
= "ctrl+h"
= "help"
# This makes Ctrl+H show help (overriding any preset binding for Help)
# You can override any action with any key combination
# Available actions (all in snake_case):
# Navigation: move_up, move_down, move_left, move_right, page_up, page_down, go_to_top, go_to_end, home, end
# Selection: confirm, cancel, toggle_select, select_all, deselect_all
# Global: quit, help
# Actions: delete, edit, create, search, refresh, sync, check_status, install
# Text editing: backspace, delete_char
# Navigation: next_tab, prev_tab
# Scroll: scroll_up, scroll_down
# Prompts: yes, no
# Forms: save, toggle_backup
#
# For example, to use function keys:
# [[keymap.overrides]]
# key = "f1"
# action = "help"
#
# [[keymap.overrides]]
# key = "f2"
# action = "quit"