.dotfiles/shell/tmux.conf

73 lines
2.2 KiB
Bash

#### COLOUR (Solarized dark)
# set vi keys
set-window-option -g mode-keys vi
is_vim="ps -o state= -o comm= -t '#{pane_tty}' \
| grep -iqE '^[^TXZ ]+ +(\\S+\\/)?g?(view|n?vim?x?)(diff)?$'"
bind-key -n C-h if-shell "$is_vim" "send-keys C-h" "select-pane -L"
bind-key -n C-j if-shell "$is_vim" "send-keys C-j" "select-pane -D"
bind-key -n C-k if-shell "$is_vim" "send-keys C-k" "select-pane -U"
bind-key -n C-l if-shell "$is_vim" "send-keys C-l" "select-pane -R"
bind-key -T copy-mode-vi C-h select-pane -L
bind-key -T copy-mode-vi C-j select-pane -D
bind-key -T copy-mode-vi C-k select-pane -U
bind-key -T copy-mode-vi C-l select-pane -R
# copy to system clipboard
bind-key -T copy-mode-vi y send-keys -X copy-pipe-and-cancel 'xclip -se c -i'
bind-key -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel 'xclip -se c -i'
# enable mouse
# setw -g mode-mouse on
# set -g mouse-select-window on
set -g mouse on
# reload tmux.conf with <prefix>-r
unbind r
bind r \
source-file ~/.tmux.conf \;\
display 'Reloaded tmux config'
bind -n M-h previous-window
bind -n M-l next-window
bind -n M-j switch-client -n
bind -n M-k switch-client -p
bind-key -n M-s set-option status
# start numbering at 1
set -g base-index 1
set -g pane-base-index 1
# renew statusline every 10 seconds
set -g status-interval 10
# clock
set-window-option -g clock-mode-colour green
# bell
set-window-option -g window-status-bell-style fg=color0,bg=red
# default statusbar colors
set -g status-bg "#1a1d1c"
# term color
# set -g default-terminal "screen-256color"
# set-option -ga terminal-overrides ",xterm-256color:Tc"
# right status
set -g status-right '#[fg=#51000f]#[bg=#51000f]#[fg=#ffffff] %H:%M %d-%b '
# left status
set -g status-left '#[bg=#1A202C]#[fg=#ffffff]#{?client_prefix,#[bg=#51000f],} ❐ #[bg=#1a1d1c]#[fg=#1A202C]#{?client_prefix,#[fg=#51000f],}#{?window_zoomed_flag, #[fg=colour7]🔍 ,} '
# current window status
set -g window-status-current-format "#[fg=#1a1d1c]#[bg=#51000f]#[fg=colour7]#[bg=#51000f] #I #[fg=colour7] #W #[fg=#51000f]#[bg=#1a1d1c]"
# normal window status
set -g window-status-format "#[fg=colour244]#[bg=#1a1d1c]#I #[fg=colour240] #W"
# escape time
set-option -sg escape-time 10
set -g status-justify "left"