114 lines
2.5 KiB
Bash
114 lines
2.5 KiB
Bash
# Initial setup
|
|
set -g default-terminal xterm-256color
|
|
set -g status-keys vi
|
|
|
|
|
|
# Set fish as the default shell
|
|
#set-option -g default-shell "/usr/bin/fish"
|
|
|
|
|
|
# use C-j and C-f for the prefix.
|
|
set-option -g prefix C-j
|
|
set-option -g prefix2 C-f
|
|
unbind-key C-j
|
|
bind-key C-j send-prefix
|
|
set -g base-index 1
|
|
|
|
|
|
# Easy config reload
|
|
bind-key r source-file ~/.tmux.conf \; display-message "tmux.conf reloaded."
|
|
|
|
|
|
# Easy clear history
|
|
bind-key L clear-history
|
|
|
|
|
|
# Double press <prefix> to move to last window
|
|
bind-key C-f last-window
|
|
bind-key C-j last-window
|
|
|
|
|
|
# Lengthen the amount of time status messages are displayed
|
|
set-option -g display-time 2000
|
|
set-option -g display-panes-time 3000
|
|
|
|
|
|
# Set the base-index to 1 rather than 0
|
|
set -g base-index 1
|
|
set-window-option -g pane-base-index 1
|
|
|
|
|
|
# Automatically set window title
|
|
set-window-option -g automatic-rename on
|
|
set-option -g set-titles on
|
|
|
|
|
|
# Key bindings for copy-paste
|
|
setw -g mode-keys vi
|
|
unbind p
|
|
bind p paste-buffer
|
|
bind-key -T copy-mode-vi 'v' send -X begin-selection
|
|
bind-key -T copy-mode-vi 'y' send -X copy-selection-and-cancel
|
|
|
|
|
|
|
|
# Window activity monitor
|
|
setw -g monitor-activity on
|
|
set -g visual-activity on
|
|
|
|
|
|
# Set easier window split keys
|
|
bind-key v split-window -h
|
|
bind-key h split-window -v
|
|
|
|
|
|
# Use Alt-arrow keys without prefix key to switch panes
|
|
bind -n M-Left select-pane -L
|
|
bind -n M-Right select-pane -R
|
|
bind -n M-Up select-pane -U
|
|
bind -n M-Down select-pane -D
|
|
|
|
|
|
# Allow the arrow key to be used immediately after changing windows.
|
|
set-option -g repeat-time 0
|
|
|
|
|
|
# Shift arrow to switch windows
|
|
bind -n S-Left previous-window
|
|
bind -n S-Right next-window
|
|
|
|
|
|
# Synchronize panes
|
|
bind-key y set-window-option synchronize-panes
|
|
|
|
|
|
# No delay for escape key press
|
|
set -sg escape-time 0
|
|
|
|
|
|
# Window activity monitor
|
|
setw -g monitor-activity on
|
|
set -g visual-activity on
|
|
|
|
|
|
# Mouse Mode
|
|
set -g mouse on
|
|
|
|
|
|
# Theme
|
|
set -g window-status-current-style bold,bg=colour247,fg=colour237
|
|
set -g window-status-activity-style bg=blue,fg=black
|
|
set-option -g message-style bg=colour237,fg=colour231
|
|
set-option -g pane-border-style fg=colour247
|
|
set-option -g pane-active-border-style fg=colour247
|
|
|
|
|
|
# Status Bar
|
|
set -g status-justify centre
|
|
set -g status-bg black
|
|
set -g status-fg white
|
|
set -g status-interval 60
|
|
set -g status-left-length 30
|
|
set -g status-left '#[fg=colour237]#[bg=colour247,bold] #H #[bg=colour237] #[fg=colour247,nobold][#S] '
|
|
set -g status-right '#[bg=colour237]#[fg=colour247] #(cut -d " " -f 1-3 /proc/loadavg)#[default]#[bg=colour237] #[bg=colour247]#[fg=colour237,bold] %H:%M '
|