Archived
1
0
Fork 0
This repository has been archived on 2024-06-19. You can view files and clone it, but cannot push or open issues or pull requests.
dotfiles/tmux/tmux.conf
Christoph Heiss 711e9e1dbe
tmux: Fix pane traversal keybinds for Dvorak layout
Signed-off-by: Christoph Heiss <christoph@c8h4.io>
2022-12-28 22:16:05 +01:00

106 lines
3 KiB
Plaintext

# tmux v2.9a (or so)
set-environment -g PATH "/usr/local/bin:$PATH"
set -g @copytk-copy-command "wl-copy"
run-shell ~/.config/tmux/plugins/copy-toolkit/copytk.tmux
unbind-key '"'
unbind-key %
# Status bar colors
set-option -g status-style "bg=colour235,fg=colour136" # base02,yellow
# Default window title colors
set-window-option -g window-status-style "fg=colour244" # base0
# Active window title colors
set-window-option -g window-status-current-style "fg=colour166,bright" # orange
# Pane border
set-option -g pane-border-style "fg=colour235" # base02
set-option -g pane-active-border-style "fg=colour240" # base01
# Message color
set-option -g message-style "bg=colour235,fg=colour166" # base02,orange
# Pane number display
set-option -g display-panes-active-colour colour33 # blue
set-option -g display-panes-colour colour166 # orange
# Update status bar every second
set-option -g status-interval 1
set-option -g status-justify centre # center align window list
set-option -g status-left-length 140
set-option -g status-right-length 140
set-option -g status-left \
'#[fg=brightwhite,bg=darkgreen] #H #(tmux-mem-cpu-load -g0 -a0 -i4 -p)#[default]'
set-option -g status-right \
'#[fg=brightwhite,bg=darkred] #(uptime -p | sed -r "s/ hours?/h/;s/ minutes?/min/") \
#[fg=colour59,bg=darkred]#[fg=brightwhite,bg=colour59] %a %I:%M:%S %p #[fg=black,bg=blue] %Y-%m-%d '
# Re-bind prefix key
set-option -g prefix C-a
bind-key C-a last-window
# Start numbering at 1
set-option -g base-index 1
# Allows for faster key repetition
set-option -s escape-time 0
# Rather than constraining window size to the maximum size of any client
# connected to the *session*, constrain window size to the maximum size of any
# client connected to *that window*. Much more reasonable.
set-window-option -g aggressive-resize on
# Allow using C-a a <command> to send commands to a nested tmux session
bind-key a send-prefix
# Activity monitoring
set-window-option -g monitor-activity on
set-option -g visual-activity on
# Horizontal and vertical split
bind-key b split-window -h -c "#{pane_current_path}"
bind-key v split-window -c "#{pane_current_path}"
# New window
bind-key c new-window -c "#{pane_current_path}"
# Window traversal
bind-key C-h previous-window
bind-key C-t next-window
# Pane traversal
bind-key d select-pane -L
bind-key h select-pane -D
bind-key t select-pane -U
bind-key n select-pane -R
# Horizontal pane resize
bind-key s resize-pane -R 5
bind-key m resize-pane -L 5
# Reload config
bind-key C-r source-file ~/.config/tmux/tmux.conf \; display-message "Config reloaded..."
# Raise scrollback size to ~100000 lines
set-option -g history-limit 100000
# Auto window rename
set-window-option -g automatic-rename
# Terminal color support
set-option -g default-terminal "screen-256color"
# Vi copypaste mode
set-option -g mode-keys vi
bind-key -Tcopy-mode-vi v send -X begin-selection
bind-key -Tcopy-mode-vi y send -X copy-selection-and-cancel
# Disable mouse support
set-option -g mouse off
set-option -sa terminal-overrides ',xterm-256color:RGB'