Skip to content

Instantly share code, notes, and snippets.

@nqthqn
Created May 6, 2025 16:54
Show Gist options
  • Save nqthqn/b69458921afee391f44a4afc936729b0 to your computer and use it in GitHub Desktop.
Save nqthqn/b69458921afee391f44a4afc936729b0 to your computer and use it in GitHub Desktop.
Helix + Tmux + Ghostty
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
bind -r a select-pane -t .+1 \; resize-pane -Z
bind-key , previous-window
bind-key - split-window -c "#{pane_current_path}"
bind-key - split-window -c "#{pane_current_path}"
bind-key -n M-Down resize-pane -D 5
bind-key -n M-Left resize-pane -L 5
bind-key -n M-Right resize-pane -R 5
bind-key -n M-Up resize-pane -U 5
bind-key . next-window
bind-key 0 switch-client -n
bind-key 9 switch-client -p
bind-key T command-prompt -I "#S" "rename-session '%%'"
bind-key \\ split-window -h -c "#{pane_current_path}"
bind-key \\ split-window -h -c "#{pane_current_path}"
bind-key a send-prefix
bind-key n new-window -c "#{pane_current_path}"
bind-key t command-prompt -I "#W" "rename-window '%%'"
set -g base-index 1
set -g default-shell /bin/zsh
set -g mouse on
set -g status-interval 4
set -g status-left-length 32
set -s escape-time 0
set-option -g allow-rename off
set-option -g prefix C-a
set-option -g renumber-windows on
set-option default-terminal "tmux-256color"
set-window-option -g automatic-rename off
# colors dark
set -g status-style fg=#6D6A84
set-window-option -g window-status-current-style "fg=white,bg=black"
set -g pane-active-border-style fg=#6D6A84
set -g pane-border-style fg=#6D6A84
# hack for script trying to set names
set-option -wg automatic-rename off
unbind \;
bind \; last-window
# prefixless
bind-key -n C-Space resize-pane -Z
set -g window-status-current-format "#(echo '#I' | sed 's/0/₀/g;s/1/₁/g;s/2/₂/g;s/3/₃/g;s/4/₄/g;s/5/₅/g;s/6/₆/g;s/7/₇/g;s/8/₈/g;s/9/₉/g')#W#{?window_zoomed_flag,ᶻ,}"
set -g window-status-format "#(echo '#I' | sed 's/0/₀/g;s/1/₁/g;s/2/₂/g;s/3/₃/g;s/4/₄/g;s/5/₅/g;s/6/₆/g;s/7/₇/g;s/8/₈/g;s/9/₉/g')#W#{?window_zoomed_flag,ᶻ,}"
bind-key p run-shell -b tmux-switch-pane.sh
# theme = "rose_pine_moon"
theme = "rose_pine_dawn"
[editor]
scroll-lines = 1
auto-save = false
completion-trigger-len = 1
true-color = true
# color-modes = true
auto-pairs = true
# rulers = [120]
idle-timeout = 50
end-of-line-diagnostics = "disable" # set to error, warning, info, hint
cursorcolumn = true
cursorline = true
continue-comments = false
preview-completion-insert = false
# bufferline = "always"
color-modes = true
[editor.soft-wrap]
enable = true
wrap-indicator = ""
max-wrap = 25
[editor.cursor-shape]
insert = "bar"
normal = "block"
select = "underline"
# [editor.indent-guides]
# render = false
# character = "▏"
[editor.indent-guides]
render = false
character = "┊" # Some characters that work well: "▏", "┆", "┊", "⸽"
skip-levels = 1
[editor.file-picker]
hidden = false
[editor.lsp]
display-messages = true
display-inlay-hints = false
[editor.inline-diagnostics]
cursor-line = "disable" # error
other-lines = "disable" # error, warning, info, hint
[editor.statusline]
left = ["mode", "spinner", "file-name", "file-type", "total-line-numbers", "file-encoding"]
center = []
right = ["selections", "primary-selection-length", "position", "position-percentage",
"spacer", "diagnostics", "workspace-diagnostics", "version-control"]
[keys.normal]
"ret" = "goto_word"
"tab" = ":buffer-next"
"S-tab" = ":buffer-previous"
D = "@vgld<esc>" # delete till end of line
"C-x" = ":reset-diff-change"
[keys.normal." "]
"." = "file_picker_in_current_buffer_directory"
# force better ergonomics
[keys.insert]
j = { k = "normal_mode"}
up = "no_op"
down = "no_op"
left = "no_op"
right = "no_op"
pageup = "no_op"
pagedown = "no_op"
home = "no_op"
end = "no_op"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment