Skip to content

Instantly share code, notes, and snippets.

@baldwindavid
Created October 28, 2025 20:13
Show Gist options
  • Save baldwindavid/74c931f364d8268c7bb05d3a1f370cde to your computer and use it in GitHub Desktop.
Save baldwindavid/74c931f364d8268c7bb05d3a1f370cde to your computer and use it in GitHub Desktop.
#####################################################
# COMMANDS
# Commands are under "tab".
#
# Most commands may be run in a floating (f), down (j), or right (l) pane.
# The "j" and "l" align with the movement keys (i.e. h,j,k,l).
#
# For example, to run a test under cursor in a pane below:
#
# "tab" = open command menu
# "t" = test type menu
# "l" = test line
# "j" = run in pane "down"
#
# If a pane already exists in the desired position, it will be run there.
# If no pane exists in the desired position, one will be created and run there.
# Any "new" pane will always be set to close on exit. Commands run in an
# existing pane will only close on exit if the pane was originally set to
# close on exit.
#
# Commands run in floating windows will always be set to close on exit.
#
# The run.sh command is a thin wrapper around the `zellij run` command.
# It provides the "move to or create" pane functionality and passes the
# arguments along.
######################################################
# Rerun - "r" for "rerun"
# Rerun last command executed
##################################################
[keys.normal.tab]
r = ":sh ~/.config/helix/rerun.sh"
# Search and Replace - "s" for "search and replace"
##################################################
[keys.normal.tab.s]
f = ":sh ~/.config/helix/run.sh --floating --close-on-exit -- scooter --no-stdin"
j = ":sh ~/.config/helix/run.sh --direction down --close-on-exit -- scooter --no-stdin"
l = ":sh ~/.config/helix/run.sh --direction right --close-on-exit -- scooter --no-stdin"
# Tests - "t" for "test"
##################################################
# Test at line - "l" for "line"
[keys.normal.tab.t.l]
f = ":sh ~/.config/helix/run.sh --floating -- ~/.config/helix/go_test_at_line.sh %{buffer_name}:%{cursor_line}"
j = ":sh ~/.config/helix/run.sh --direction down -- ~/.config/helix/go_test_at_line.sh %{buffer_name}:%{cursor_line}"
l = ":sh ~/.config/helix/run.sh --direction right -- ~/.config/helix/go_test_at_line.sh %{buffer_name}:%{cursor_line}"
# Test file - "f" for "file"
[keys.normal.tab.t.f]
f = ":sh ~/.config/helix/run.sh --floating -- ~/.config/helix/go_test_file.sh %{buffer_name}"
j = ":sh ~/.config/helix/run.sh --direction down -- ~/.config/helix/go_test_file.sh %{buffer_name}"
l = ":sh ~/.config/helix/run.sh --direction right -- ~/.config/helix/go_test_file.sh %{buffer_name}"
# Test package - "p" for "package"
[keys.normal.tab.t.p]
f = ":sh ~/.config/helix/run.sh --floating -- ~/.config/helix/go_test_package.sh %{buffer_name}"
j = ":sh ~/.config/helix/run.sh --direction down -- ~/.config/helix/go_test_package.sh %{buffer_name}"
l = ":sh ~/.config/helix/run.sh --direction right -- ~/.config/helix/go_test_package.sh %{buffer_name}"
# Test suite - "s" for "suite"
[keys.normal.tab.t.s]
f = ":sh ~/.config/helix/run.sh --floating -- ~/.config/helix/go_test_suite.sh %{buffer_name}"
j = ":sh ~/.config/helix/run.sh --direction down -- ~/.config/helix/go_test_suite.sh %{buffer_name}"
l = ":sh ~/.config/helix/run.sh --direction right -- ~/.config/helix/go_test_suite.sh %{buffer_name}"
# Git - "g" for "git"
##################################################
# Git blame - "b" for "blame"
[keys.normal.tab.g.b]
f = ":sh ~/.config/helix/run.sh --floating --close-on-exit -- ~/.config/helix/git_blame.sh %{buffer_name} %{cursor_line}"
j = ":sh ~/.config/helix/run.sh --direction down --close-on-exit -- ~/.config/helix/git_blame.sh %{buffer_name} %{cursor_line}"
l = ":sh ~/.config/helix/run.sh --direction right --close-on-exit -- ~/.config/helix/git_blame.sh %{buffer_name} %{cursor_line}"
# Lazygit - "g" for "git" (double tap)
[keys.normal.tab.g.g]
f = ":sh ~/.config/helix/run.sh --floating --close-on-exit -- lazygit"
j = ":sh ~/.config/helix/run.sh --direction down --close-on-exit -- lazygit"
l = ":sh ~/.config/helix/run.sh --direction right --close-on-exit -- lazygit"
# Debug - "d" for "debug"
##################################################
# Debug: set breakpoint - "b" for "breakpoint"
[keys.normal.tab.d.b]
j = ":sh ~/.config/helix/dlv_set_breakpoint.sh down %{buffer_name}:%{cursor_line}"
l = ":sh ~/.config/helix/dlv_set_breakpoint.sh right %{buffer_name}:%{cursor_line}"
# Debug: test - "t" for "test"
[keys.normal.tab.d.t]
f = ':sh bash -c "~/.config/helix/run.sh --floating -- $(~/.config/helix/go_debug_command.sh %{buffer_name}:%{cursor_line})"'
j = ':sh bash -c "~/.config/helix/run.sh --direction down -- $(~/.config/helix/go_debug_command.sh %{buffer_name}:%{cursor_line})"'
l = ':sh bash -c "~/.config/helix/run.sh --direction right -- $(~/.config/helix/go_debug_command.sh %{buffer_name}:%{cursor_line})"'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment