Skip to content

Instantly share code, notes, and snippets.

@freepicheep
Created December 23, 2025 21:17
Show Gist options
  • Select an option

  • Save freepicheep/e7e17d638bd9a699c383141686bbd42b to your computer and use it in GitHub Desktop.

Select an option

Save freepicheep/e7e17d638bd9a699c383141686bbd42b to your computer and use it in GitHub Desktop.

Revisions

  1. freepicheep created this gist Dec 23, 2025.
    50 changes: 50 additions & 0 deletions helix.ghostty
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,50 @@
    # Helix-mode keybindings for Ghostty.
    #
    # Adapted from vim.ghostty https://gist.github.com/mitchellh/1c5be5c083a2315f22f1cb8f239e9dcd
    # Note: We're missing a number of actions to produce a better vim experience.
    # This is what is possible today! But we plan on adding more actions to make
    # this even better in the future.

    # Entry point
    keybind = alt+v=activate_key_table:helix

    # Key table definition
    keybind = helix/

    # Line movement
    keybind = helix/j=scroll_page_lines:1
    keybind = helix/k=scroll_page_lines:-1

    # Page movement
    keybind = helix/ctrl+d=scroll_page_down
    keybind = helix/ctrl+u=scroll_page_up
    keybind = helix/ctrl+f=scroll_page_down
    keybind = helix/ctrl+b=scroll_page_up
    keybind = helix/shift+j=scroll_page_down
    keybind = helix/shift+k=scroll_page_up

    # Jump to top/bottom
    keybind = helix/g>g=scroll_to_top
    keybind = helix/g>e=scroll_to_bottom

    # Search (if you want helix-style search entry)
    keybind = helix/slash=start_search
    keybind = helix/n=navigate_search:next
    keybind = helix/shift+n=navigate_search:previous

    # Copy mode / selection
    # Note we're missing a lot of actions here to make this more full featured.
    keybind = helix/v=copy_to_clipboard
    keybind = helix/y=copy_to_clipboard

    # Command Palette
    keybind = helix/shift+semicolon=toggle_command_palette

    # Exit
    keybind = helix/escape=deactivate_key_table
    keybind = helix/q=deactivate_key_table
    keybind = helix/i=deactivate_key_table
    keybind = helix/a=deactivate_key_table

    # Catch unbound keys
    keybind = helix/catch_all=ignore