|
# Ghostty <-> Herdr native macOS keybindings |
|
# Maps native chords to the escape / CSI-u sequences Herdr listens for. |
|
# Prefix is ctrl+b (\x02), which Herdr hardcodes. |
|
|
|
# macos/chrome-style herdr actions |
|
keybind = cmd+KeyT=text:\x02t |
|
keybind = cmd+t=unbind |
|
keybind = cmd+KeyN=text:\x02n |
|
keybind = cmd+n=unbind |
|
# cmd+w closes the focused pane (herdr auto-closes the tab on the last pane); |
|
# cmd+shift+w force-closes the whole tab and all its panes |
|
keybind = cmd+KeyW=text:\x02x |
|
keybind = cmd+w=unbind |
|
keybind = cmd+shift+KeyW=text:\x02W |
|
keybind = cmd+shift+w=unbind |
|
keybind = alt+t=text:\x02t |
|
|
|
# rename: cmd+r -> rename tab, cmd+shift+r -> rename workspace |
|
keybind = cmd+KeyR=text:\x02T |
|
keybind = cmd+r=unbind |
|
keybind = cmd+shift+KeyR=text:\x02N |
|
keybind = cmd+shift+r=unbind |
|
|
|
# cmd+k -> clear screen (ctrl+l to the focused shell) |
|
keybind = cmd+KeyK=text:\x0c |
|
keybind = cmd+k=unbind |
|
|
|
# pane navigation: cmd+opt+arrows and cmd+opt+hjkl (nvim-style) |
|
keybind = cmd+alt+left=text:\x02h |
|
keybind = cmd+alt+down=text:\x02j |
|
keybind = cmd+alt+up=text:\x02k |
|
keybind = cmd+alt+right=text:\x02l |
|
keybind = cmd+alt+KeyH=text:\x02h |
|
keybind = cmd+alt+KeyJ=text:\x02j |
|
keybind = cmd+alt+KeyK=text:\x02k |
|
keybind = cmd+alt+KeyL=text:\x02l |
|
|
|
# splits: cmd+d vertical (side by side), cmd+shift+d horizontal |
|
keybind = cmd+KeyD=text:\x02v |
|
keybind = cmd+d=unbind |
|
keybind = cmd+shift+KeyD=text:\x02- |
|
keybind = cmd+shift+d=unbind |
|
|
|
# zoom active pane: cmd+shift+enter |
|
keybind = cmd+shift+enter=text:\x02z |
|
|
|
# pane cycling: cmd+[ prev, cmd+] next |
|
keybind = cmd+left_bracket=text:\x02i |
|
keybind = cmd+right_bracket=text:\x02u |
|
|
|
# tab cycling: cmd+shift+[ prev, cmd+shift+] next |
|
keybind = cmd+shift+left_bracket=text:\x1b[9;8u |
|
keybind = cmd+shift+right_bracket=text:\x1b[9;7u |
|
|
|
# ctrl+tab / ctrl+shift+tab -> herdr workspaces |
|
keybind = ctrl+tab=text:\x1b[9;5u |
|
keybind = ctrl+shift+tab=text:\x1b[9;6u |
|
|
|
# ctrl+alt+tab / ctrl+alt+shift+tab -> herdr tabs |
|
keybind = ctrl+alt+tab=text:\x1b[9;7u |
|
keybind = ctrl+alt+shift+tab=text:\x1b[9;8u |
|
|
|
# cmd+1..9 -> herdr workspaces |
|
keybind = cmd+digit_1=text:\x1b[49;6u |
|
keybind = cmd+1=text:\x1b[49;6u |
|
keybind = cmd+digit_2=text:\x1b[50;6u |
|
keybind = cmd+2=text:\x1b[50;6u |
|
keybind = cmd+digit_3=text:\x1b[51;6u |
|
keybind = cmd+3=text:\x1b[51;6u |
|
keybind = cmd+digit_4=text:\x1b[52;6u |
|
keybind = cmd+4=text:\x1b[52;6u |
|
keybind = cmd+digit_5=text:\x1b[53;6u |
|
keybind = cmd+5=text:\x1b[53;6u |
|
keybind = cmd+digit_6=text:\x1b[54;6u |
|
keybind = cmd+6=text:\x1b[54;6u |
|
keybind = cmd+digit_7=text:\x1b[55;6u |
|
keybind = cmd+7=text:\x1b[55;6u |
|
keybind = cmd+digit_8=text:\x1b[56;6u |
|
keybind = cmd+8=text:\x1b[56;6u |
|
keybind = cmd+digit_9=text:\x1b[57;6u |
|
keybind = cmd+9=text:\x1b[57;6u |