78 lines
2.4 KiB
Bash
78 lines
2.4 KiB
Bash
# use C-a, since it's on the home row and easier to hit than C-b
|
|
set-option -g prefix C-a
|
|
unbind-key C-a
|
|
bind-key C-a send-prefix
|
|
set -g base-index 1
|
|
|
|
# vi is good
|
|
set-window-option -g mode-keys vi
|
|
|
|
# mouse behavior
|
|
set -g mouse on
|
|
|
|
# Keyboard shortcuts
|
|
bind-key : command-prompt
|
|
bind-key r refresh-client
|
|
bind-key L clear-history
|
|
|
|
bind-key space next-window
|
|
bind-key bspace previous-window
|
|
bind-key enter next-layout
|
|
|
|
# use vim-like keys for splits and windows
|
|
bind-key v split-window -h -c "#{pane_current_path}"
|
|
bind-key s split-window -v -c "#{pane_current_path}"
|
|
bind-key h select-pane -L
|
|
bind-key j select-pane -D
|
|
bind-key k select-pane -U
|
|
bind-key l select-pane -R
|
|
|
|
bind-key + select-layout main-horizontal
|
|
bind-key = select-layout main-vertical
|
|
set-window-option -g other-pane-height 25
|
|
set-window-option -g other-pane-width 80
|
|
|
|
bind-key a last-pane
|
|
bind-key q display-panes
|
|
set-window-option -g display-panes-time 1500
|
|
bind-key c new-window
|
|
bind-key t next-window
|
|
bind-key T previous-window
|
|
|
|
bind-key R source-file ~/.tmux.conf \; display-message "tmux.conf reloaded."
|
|
|
|
bind-key [ copy-mode
|
|
bind-key ] paste-buffer
|
|
if-shell '[[ -n "$WAYLAND_DISPLAY" ]]' \
|
|
'bind-key -T copy-mode-vi Enter send-keys -X copy-pipe-and-cancel "wl-copy --foreground"' \
|
|
'bind-key -T copy-mode-vi Enter send-keys -X copy-pipe-and-cancel "xclip -display $DISPLAY -selection clipboard -in"'
|
|
if-shell '[[ -n "$WAYLAND_DISPLAY" ]]' \
|
|
'bind-key -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "wl-copy --foreground"' \
|
|
'bind-key -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "xclip -display $DISPLAY -selection clipboard -in"'
|
|
bind-key -T copy-mode-vi v send-keys -X begin-selection
|
|
|
|
# Status Bar (Rosé Pine)
|
|
set-option -g status-interval 1
|
|
set-option -g status-style 'fg=#908caa,bg=#26233a'
|
|
set-option -g status-left ''
|
|
set-option -g status-right '#[fg=#191724,bg=#c4a7e7] %H:%M '
|
|
set -g window-status-format '#[fg=#908caa,bg=#26233a] #I:#W '
|
|
set -g window-status-current-format '#[fg=#191724,bg=#9ccfd8,bold] #I:#W '
|
|
|
|
# Set window notifications
|
|
setw -g monitor-activity on
|
|
set -g visual-activity on
|
|
|
|
# Allow the arrow key to be used immediately after changing windows
|
|
set-option -g repeat-time 0
|
|
|
|
# From tmux-sensible
|
|
set -s escape-time 20
|
|
set -g history-limit 50000
|
|
set -g display-time 750
|
|
set -g default-terminal "xterm-256color"
|
|
set -g extended-keys on
|
|
set -as terminal-features ",xterm-256color:extkeys"
|
|
set -g focus-events on
|
|
setw -g aggressive-resize on
|