mirror of
https://github.com/basecamp/omarchy.git
synced 2026-02-17 15:25:37 +00:00
86 lines
2.5 KiB
Bash
86 lines
2.5 KiB
Bash
# Prefix
|
|
set -g prefix C-Space
|
|
set -g prefix2 C-b
|
|
bind C-Space send-prefix
|
|
|
|
# Reload config
|
|
bind q source-file ~/.config/tmux/tmux.conf
|
|
|
|
# Vi mode for copy
|
|
setw -g mode-keys vi
|
|
bind -T copy-mode-vi v send -X begin-selection
|
|
bind -T copy-mode-vi y send -X copy-selection-and-cancel
|
|
|
|
# Pane Controls
|
|
bind h split-window -h -c "#{pane_current_path}"
|
|
bind v split-window -v -c "#{pane_current_path}"
|
|
bind -n C-M-PageUp split-window -h -c "#{pane_current_path}"
|
|
bind -n C-M-PageDown split-window -v -c "#{pane_current_path}"
|
|
bind -n C-M-Home split-window -h -c "#{pane_current_path}"
|
|
bind -n C-M-End kill-pane
|
|
|
|
bind -n C-M-Left select-pane -L
|
|
bind -n C-M-Right select-pane -R
|
|
bind -n C-M-Up select-pane -U
|
|
bind -n C-M-Down select-pane -D
|
|
|
|
bind -n C-M-S-Left resize-pane -L 5
|
|
bind -n C-M-S-Down resize-pane -D 5
|
|
bind -n C-M-S-Up resize-pane -U 5
|
|
bind -n C-M-S-Right resize-pane -R 5
|
|
|
|
# Window navigation
|
|
bind r command-prompt -I "#W" "rename-window -- '%%'"
|
|
bind c new-window -c "#{pane_current_path}"
|
|
bind x kill-window
|
|
bind -n C-S-Home new-window -c "#{pane_current_path}"
|
|
bind -n C-S-End kill-window
|
|
|
|
bind -n C-S-PageUp next-window
|
|
bind -n C-S-PageDown previous-window
|
|
|
|
# Session controls
|
|
bind R command-prompt -I "#S" "rename-session -- '%%'"
|
|
bind C new-session
|
|
bind X kill-session
|
|
bind -n C-M-S-Home new-session -c "#{pane_current_path}"
|
|
bind -n C-M-S-End kill-session
|
|
|
|
bind -n C-M-S-PageUp switch-client -p
|
|
bind -n C-M-S-PageDown switch-client -n
|
|
|
|
# General
|
|
set -g default-terminal "tmux-256color"
|
|
set -ag terminal-overrides ",*:RGB"
|
|
set -g mouse on
|
|
set -g base-index 1
|
|
setw -g pane-base-index 1
|
|
set -g renumber-windows on
|
|
set -g history-limit 50000
|
|
set -g escape-time 0
|
|
set -g focus-events on
|
|
set -g set-clipboard on
|
|
set -g allow-passthrough on
|
|
setw -g aggressive-resize on
|
|
set -g detach-on-destroy off
|
|
|
|
# Status bar
|
|
set -g status-position top
|
|
set -g status-interval 5
|
|
set -g status-left-length 30
|
|
set -g status-right-length 50
|
|
set -g window-status-separator ""
|
|
|
|
# Theme
|
|
set -g status-style "bg=default,fg=default"
|
|
set -g status-left "#[fg=black,bg=blue,bold] #S #[bg=default] "
|
|
set -g status-right "#[fg=blue]#{?client_prefix,PREFIX ,}#[fg=brightblack]#h "
|
|
set -g window-status-format "#[fg=brightblack] #I:#W "
|
|
set -g window-status-current-format "#[fg=blue,bold] #I:#W "
|
|
set -g pane-border-style "fg=brightblack"
|
|
set -g pane-active-border-style "fg=blue"
|
|
set -g message-style "bg=default,fg=blue"
|
|
set -g message-command-style "bg=default,fg=blue"
|
|
set -g mode-style "bg=blue,fg=black"
|
|
setw -g clock-mode-colour blue
|