68 lines
2.7 KiB
TOML
68 lines
2.7 KiB
TOML
theme = "catppuccin_frappe"
|
|
# ─── Normal mode ────────────────────────────────────────────────────────────
|
|
[keys.normal]
|
|
|
|
# Movement: wasd
|
|
w = "move_visual_line_up"
|
|
a = "move_char_left"
|
|
s = "move_visual_line_down"
|
|
d = "move_char_right"
|
|
|
|
# Word jumps
|
|
"S-a" = "move_prev_word_start" # Shift+a: previous word
|
|
"S-d" = "move_next_word_start" # Shift+d: next word
|
|
|
|
# Insert before / after cursor
|
|
v = "insert_mode" # insert before cursor
|
|
b = "append_mode" # insert after cursor
|
|
V = "select_mode" # enter select/extend mode ("v" was repurposed)
|
|
|
|
# Editing
|
|
o = "open_below"
|
|
O = "open_above"
|
|
x = "extend_line_below" # select current line (repeat to extend down)
|
|
J = "join_selections"
|
|
">" = "indent"
|
|
"<" = "unindent"
|
|
C-z = "undo"
|
|
C-y = "redo"
|
|
C-s = ":w" # Ctrl+s: save file
|
|
|
|
# Search
|
|
"/" = "search"
|
|
n = "search_next"
|
|
N = "search_prev"
|
|
|
|
# Cursor stack & deletes (shift layer)
|
|
W = "copy_selection_on_prev_line" # Shift+w: add cursor above
|
|
S = "copy_selection_on_next_line" # Shift+s: add cursor below
|
|
X = ["extend_line_below", "delete_selection"] # Shift+x: delete current line (yanks)
|
|
D = "delete_selection" # Shift+d: delete selection
|
|
";" = "keep_primary_selection" # collapse multi-cursors to one (primary)
|
|
"S-r" = "select_regex"
|
|
|
|
# ─── Goto mode (g prefix) ───────────────────────────────────────────────────
|
|
[keys.normal.g]
|
|
g = "goto_file_start" # gg -> start of file; {num}gg -> jump to that line
|
|
e = "goto_last_line" # ge -> end of file
|
|
h = "goto_line_start" # gh -> start of line
|
|
l = "goto_line_end" # gl -> end of line
|
|
w = "goto_word" # gw -> word label jump
|
|
|
|
# ─── View mode (z prefix) ───────────────────────────────────────────────────
|
|
[keys.normal.z]
|
|
z = "align_view_center" # zz -> center cursor on screen
|
|
|
|
# ─── Insert mode ────────────────────────────────────────────────────────────
|
|
[keys.insert]
|
|
|
|
# ─── Select / extend mode (entered via V) ───────────────────────────────────
|
|
[keys.select]
|
|
# wasd movement consistent with normal mode
|
|
w = "extend_visual_line_up"
|
|
a = "extend_char_left"
|
|
s = "extend_visual_line_down"
|
|
d = "extend_char_right"
|
|
"S-a" = "extend_prev_word_start" # Shift+a: extend to previous word
|
|
"S-d" = "extend_next_word_start" # Shift+d: extend to next word
|