Config

~/.tmux.conf

Rina Kawakita 2019. 12. 24. 19:48
~/.tmux.conf
# /-----------------------------------------\
# | synthwave tmux theme                    |
# | works best with synthwave colour scheme |
# | 2016 fs0ciety                           |
# | https://fs0ciety.info                   |
# \-----------------------------------------/
                                   
# Set prefix key to C-x
unbind C-b
set -g prefix C-x
bind C-x send-prefix

# Set copy-mode
set-window-option -g mode-keys vi
bind -T copy-mode-vi 'v' send -X begin-selection

## set the default TERM
#set -g default-terminal screen
set -g default-terminal "xterm-256color"

### update the TERM variable of terminal emulator when creating a new session or attaching a existing session
set -g update-environment 'DISPLAY SSH_ASKPASS SSH_AGENT_PID SSH_CONNECTION WINDOWID XAUTHORITY TERM'
### determine if we should enable 256-colour support
if "[[ ${TERM} =~ 256color || ${TERM} == fbterm  ]]" 'set -g default-terminal screen-256color'


### update the TERM variable of terminal emulator when creating a new session or attaching a existing session
set -g update-environment 'DISPLAY SSH_ASKPASS SSH_AGENT_PID SSH_CONNECTION WINDOWID XAUTHORITY TERM'

# i3 split bindings
bind s split-window -h
bind v split-window -v
unbind '"'
unbind %

# vim split navigation
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R

# equalize splits with x
#unbind space
bind x select-layout even-vertical

# window switching
unbind n
unbind c
bind c new-window
unbind ,
unbind .
bind , previous-window
bind . next-window
#bind \ last-window
bind \ find-window

# change kill window bind
unbind &
#bind k killp

# force a reload of the config file
unbind r
bind r source-file ~/.tmux.conf \; display-message "Config reloaded..."

set -g default-shell /bin/zsh
set -g default-command 'zsh'
set -g status on
set -g pane-base-index 1
set -g base-index 1
set -g set-titles on
set -g aggressive-resize on
#set-option -g set-titles-string '#{pane_current_command}'
set-option -g set-titles-string "Session : #S  [#I-#P]  #T - tmux"
set-option -g automatic-rename on

set-option -g history-limit 1024
set-option -g status-position  bottom       #top #bottom
set-option -g renumber-windows on
set-option -g visual-activity on
set-window-option -g monitor-activity on    # on, off

set -g mouse on
bind -T root WheelUpPane   if-shell -F -t = "#{alternate_on}" "send-keys -M" "select-pane -t =; copy-mode -e; send-keys -M"
bind -T root WheelDownPane if-shell -F -t = "#{alternate_on}" "send-keys -M" "select-pane -t =; send-keys -M"


# Split
set-option -g pane-active-border-fg colour234
set-option -g pane-active-border-bg default
set-option -g pane-border-fg colour234
set-option -g pane-border-bg default

set -g status-justify centre
set -g status-left '#[fg=white,bg=cyan] Session #[fg=white,bg=magenta] #S '
set -g status-left-length 100
set -g status-right '#[fg=white,bg=magenta] %b %d %Y #[fg=white,bg=blue] %R '
set -g status-right-length 100
set -g status-bg default
setw -g window-status-format '#[fg=cyan,bg=black] #I #[fg=cyan,bg=black] #W'    ###{pane_current_command}    #W,  #T
setw -g window-status-current-format '#[fg=white,bg=blue] #I #[fg=white,bg=magenta] #W '

unbind l
bind l select-pane