105 lines
3.3 KiB
Bash
105 lines
3.3 KiB
Bash
set -g default-terminal screen-256color
|
|
|
|
#remove escape delay
|
|
set -s escape-time 0
|
|
|
|
#change C-b to Ca
|
|
unbind C-b
|
|
set-option -g prefix C-a
|
|
bind-key C-a send-prefix
|
|
|
|
# split panes using | and -
|
|
bind | split-window -h
|
|
bind - split-window -v
|
|
unbind '"'
|
|
unbind %
|
|
|
|
# stop tmux from renaming the window every time you run a command
|
|
set-option -g allow-rename off
|
|
set-option -g pane-active-border-fg blue
|
|
|
|
# select panes with vim keys
|
|
bind h select-pane -L
|
|
bind j select-pane -D
|
|
bind k select-pane -U
|
|
bind l select-pane -R
|
|
|
|
#join window
|
|
bind-key @ command-prompt -p "create pane from:" "join-pane -s ':%%'"
|
|
|
|
# change base from 0 to 1 for reachability
|
|
set -g base-index 1
|
|
|
|
# set vi modes
|
|
set -g status-keys vi
|
|
set -g mode-keys vi
|
|
|
|
# enable mouse control (click wind, panes, resizable panes) - as of tmux 2.1
|
|
# copy/paste: shift+left click to highlight, then shift+middle to past
|
|
#if-shell '[ $(echo "$(tmux -V | cut -d" " -f2) >= 2.1" | bc) -eq 1 ]' \
|
|
# 'set -g mouse on' \
|
|
# 'set -g mode-mouse on; set -g mouse-resize-pane on; set -g mouse-select-pane on; set -g mouse-select-window on'
|
|
|
|
set -g mouse on
|
|
#'set -g mouse on; set -g mouse-utf8 on' \
|
|
|
|
bind-key Tab last-window
|
|
bind-key BTab previous-window
|
|
|
|
# prefix-r to reload tmux config
|
|
bind-key r source-file ~/.tmux.conf \; display-message "~/.tmux.conf reloaded"
|
|
|
|
# Basic status bar colors
|
|
set-option -g status-bg default
|
|
set-option -g status-fg white
|
|
|
|
# Left side of status bar
|
|
set-option -g status-left-length 40
|
|
set-option -g status-left "#[fg=colour18,bg=colour12] #S #[fg=default,bg=default] "
|
|
|
|
# Window status
|
|
set-option -g window-status-format "#[fg=colour18,bg=brightblack] #I #[fg=white,bg=black] #W "
|
|
set-option -g window-status-current-format "#[fg=colour18,bg=colour7] #I #[fg=colour18,bg=colour4] #W "
|
|
set-option -g window-status-separator " "
|
|
set-option -g status-justify left
|
|
|
|
# Right side of status bar
|
|
set-option -g status-right-length 40
|
|
set-option -g status-right " #[fg=brightwhite,bg=black] %a, %d %b %H:%M #[fg=colour18,bg=colour4] #(whoami)@#h "
|
|
|
|
# Pane border
|
|
set-option -g pane-border-bg default
|
|
set-option -g pane-border-fg brightblack
|
|
set-option -g pane-active-border-bg default
|
|
set-option -g pane-active-border-fg white
|
|
|
|
# Pane number indicator
|
|
set-option -g display-panes-colour brightblack
|
|
set-option -g display-panes-active-colour brightwhite
|
|
|
|
# Clock mode
|
|
set-option -g clock-mode-colour white
|
|
set-option -g clock-mode-style 24
|
|
|
|
# use F12 to move to inner/outer tmux sessions when nested
|
|
# https://medium.freecodecamp.org/tmux-in-practice-local-and-nested-remote-tmux-sessions-4f7ba5db8795
|
|
bind -T root F12 \
|
|
set prefix None \;\
|
|
set key-table off \;\
|
|
set window-status-format "#[fg=colour18,bg=brightblack] #I #[fg=white,bg=black] #W " \;\
|
|
set window-status-current-format "#[fg=colour18,bg=brightblac] #I #[fg=white,bg=blac] #W " \;\
|
|
set status-bg black \;\
|
|
set status-left "#[fg=white,bg=blac] #S #[fg=default,bg=default] " \;\
|
|
set status-right " #[fg=brightwhite,bg=black] %a, %d %b %H:%M #[fg=white,bg=blac] #(whoami)@#h " \;\
|
|
if -F '#{pane_in_mode}' 'send-keys -X cancel' \;\
|
|
#display-message "ENTER inner tmux ..."
|
|
bind -T off F12 \
|
|
set -u prefix \;\
|
|
set -u key-table \;\
|
|
set -u window-status-format \;\
|
|
set -u window-status-current-format \;\
|
|
set -u status-left \;\
|
|
set -u status-right \;\
|
|
set -u status-bg \;\
|
|
#display-message "EXIT inner tmux ..."
|