alt-key keybinds

This commit is contained in:
2026-06-19 20:42:25 +02:00
parent f69028d482
commit e01b3dde3e
+50 -5
View File
@@ -4,14 +4,59 @@ set -g pane-base-index 1
set-option -g status-position top
set -g allow-passthrough on
# Right side: disable (remove everything)
set -g status-right ""
# Right side: date and time
set -g status-right "%Y-%m-%d | %H:%M"
set -g status-right-length 50
# Window list style
set -g status-style "bg=#3c3836"
set -g window-status-style "bg=#3c3836"
set -g window-status-current-style "bg=#3c3836,bold"
bind c new-window -c "#{pane_current_path}"
bind % split-window -h -c "#{pane_current_path}"
bind '"' split-window -v -c "#{pane_current_path}"
# New window / window (tab) switching
bind -n M-t new-window -c "#{pane_current_path}"
bind -n M-1 select-window -t 1
bind -n M-2 select-window -t 2
bind -n M-3 select-window -t 3
bind -n M-4 select-window -t 4
bind -n M-5 select-window -t 5
bind -n M-6 select-window -t 6
bind -n M-7 select-window -t 7
bind -n M-8 select-window -t 8
bind -n M-9 select-window -t 9
# Pane navigation
bind -n M-h select-pane -L
bind -n M-j select-pane -D
bind -n M-k select-pane -U
bind -n M-l select-pane -R
# Splits
bind -n M-= split-window -v -c "#{pane_current_path}" # horizontal split (top/bottom)
bind -n 'M-\' split-window -h -c "#{pane_current_path}" # vertical split (side-by-side)
# Close current pane
bind -n M-w kill-pane
# Resize mode (kitty-style): M-r enters, = grows / - shrinks the active pane, q/Esc/Enter exit.
# Orientation heuristic: a pane spanning the full window width is part of a top/bottom
# split -> resize height; otherwise it has a side neighbour -> resize width.
# Edge-aware: -L/-R/-U/-D are absolute directions, so to consistently grow/shrink the
# ACTIVE pane we push toward whichever neighbour exists (depends on which edge it's on).
# Re-enter the table after each resize so the mode stays active.
bind -n M-r switch-client -T resize_mode
bind -T resize_mode = {
if-shell -F '#{&&:#{pane_at_left},#{pane_at_right}}' \
{ if-shell -F '#{pane_at_bottom}' 'resize-pane -U 3' 'resize-pane -D 3' } \
{ if-shell -F '#{pane_at_right}' 'resize-pane -L 3' 'resize-pane -R 3' }
switch-client -T resize_mode
}
bind -T resize_mode - {
if-shell -F '#{&&:#{pane_at_left},#{pane_at_right}}' \
{ if-shell -F '#{pane_at_bottom}' 'resize-pane -D 3' 'resize-pane -U 3' } \
{ if-shell -F '#{pane_at_right}' 'resize-pane -R 3' 'resize-pane -L 3' }
switch-client -T resize_mode
}
bind -T resize_mode q switch-client -T root
bind -T resize_mode Escape switch-client -T root
bind -T resize_mode Enter switch-client -T root