# same prefix as `screen`
|
|
set -g prefix C-a
|
|
unbind C-b
|
|
|
|
# 0-indexed is not keyboard friendly
|
|
set -g base-index 1
|
|
set -g pane-base-index 1
|
|
|
|
# misc features
|
|
set -s escape-time 1
|
|
setw -g mode-keys vi
|
|
|
|
# reload
|
|
bind r source-file ~/.tmux.conf \; display "Reloaded!"
|
|
# send C-a
|
|
bind C-a send-prefix
|
|
|
|
# status bar
|
|
#
|
|
set -g status-utf8 on
|
|
set -g monitor-activity on
|
|
set -g visual-activity on
|
|
|
|
# Toggle mouse on with ^A m
|
|
bind m \
|
|
set -g mode-mouse on \;\
|
|
set -g mouse-resize-pane on \;\
|
|
set -g mouse-select-pane on \;\
|
|
set -g mouse-select-window on \;\
|
|
display 'Mouse: ON'
|
|
|
|
# Toggle mouse off with ^A M
|
|
bind M \
|
|
set -g mode-mouse off \;\
|
|
set -g mouse-resize-pane off \;\
|
|
set -g mouse-select-pane off \;\
|
|
set -g mouse-select-window off \;\
|
|
display 'Mouse: OFF'
|
|
|
|
|
|
# sessions
|
|
#
|
|
bind -r ( switch-client -p
|
|
bind -r ) switch-client -n
|
|
|
|
# windows
|
|
#
|
|
bind -r b select-window -t :-
|
|
bind -r n select-window -t :+
|
|
|
|
# panes
|
|
#
|
|
bind | split-window -h -c "#{pane_current_path}"
|
|
bind - split-window -v -c "#{pane_current_path}"
|
|
|
|
bind h select-pane -L
|
|
bind j select-pane -D
|
|
bind k select-pane -U
|
|
bind l select-pane -R
|
|
|
|
bind -r H resize-pane -L 5
|
|
bind -r J resize-pane -D 5
|
|
bind -r K resize-pane -U 5
|
|
bind -r L resize-pane -R 5
|
|
|
|
# buffers
|
|
#
|
|
bind = paste-buffer
|
|
bind -t vi-copy 'v' begin-selection
|
|
bind -t vi-copy 'y' copy-selection
|
|
|