2011-11-08 06:29:17 +11:00
|
|
|
# Based on https://github.com/lukaszkorecki/DotFiles/blob/master/tmux.conf
|
|
|
|
|
|
|
|
setw -g mode-keys vi
|
|
|
|
bind h select-pane -L
|
|
|
|
bind j select-pane -D
|
|
|
|
bind k select-pane -U
|
|
|
|
bind l select-pane -R
|
|
|
|
|
|
|
|
bind L last-window
|
|
|
|
|
|
|
|
# start indexing windows from 1, just like tabs
|
|
|
|
set -g base-index 1
|
|
|
|
|
|
|
|
set -g default-terminal "screen-256color"
|
|
|
|
|
|
|
|
# do not rename windows
|
|
|
|
setw -g automatic-rename on
|
|
|
|
|
|
|
|
# window titles
|
|
|
|
set -g set-titles on
|
|
|
|
|
|
|
|
|
|
|
|
# display visible indicator of each pane
|
|
|
|
bind-key w display-panes
|
|
|
|
|
|
|
|
# bind P source-file ~/.DotFiles/tmux_scripts/dev-layout
|
|
|
|
bind R source-file ~/.tmux.conf
|
|
|
|
|
|
|
|
# swap panes
|
|
|
|
bind-key -r J swap-pane -D
|
|
|
|
bind-key -r K swap-pane -U
|
|
|
|
|
|
|
|
|
|
|
|
# copying and pasting
|
|
|
|
bind-key [ copy-mode
|
|
|
|
bind-key ] paste-buffer -s \015
|
|
|
|
|
|
|
|
|
2011-12-28 09:42:12 +11:00
|
|
|
# enable mouse
|
2011-11-08 06:29:17 +11:00
|
|
|
setw -g mode-mouse on
|
2011-12-28 09:42:12 +11:00
|
|
|
set -g mouse-resize-pane
|
|
|
|
set -g mouse-select-pane
|
|
|
|
set -g mouse-select-window
|
2011-11-08 06:29:17 +11:00
|
|
|
|
|
|
|
# list all paste buffers (default key is '#')
|
|
|
|
bind-key b list-buffers
|
|
|
|
|
|
|
|
# choose buffer to paste interactively (default key was '=')
|
|
|
|
bind-key p choose-buffer
|
|
|
|
|
|
|
|
# delete the most recently copied buffer of text (default key was '-')
|
|
|
|
bind-key x delete-buffer
|
|
|
|
|
2011-11-08 17:23:58 +11:00
|
|
|
# Notifying if other windows has activities
|
|
|
|
setw -g monitor-activity on
|
|
|
|
set -g visual-activity on
|
|
|
|
|
|
|
|
|
2011-11-08 06:29:17 +11:00
|
|
|
|
|
|
|
# Screen-like key bindings
|
|
|
|
|
|
|
|
# new window
|
|
|
|
bind-key C-c new-window
|
|
|
|
bind-key c new-window
|
|
|
|
|
|
|
|
# quit
|
|
|
|
bind-key \ confirm-before kill-server
|
|
|
|
|
|
|
|
# displays
|
|
|
|
bind-key * list-clients
|
|
|
|
|
|
|
|
|
|
|
|
# Split windows like vim
|
|
|
|
|
|
|
|
# vim's definition of a horizontal/vertical split is reversed from tmux's
|
|
|
|
#bind-key s split-window -v
|
|
|
|
#bind-key v split-window -h
|
|
|
|
|
|
|
|
# alternatively, use better mnemonics for horizontal/vertical splits
|
|
|
|
bind-key - split-window -v
|
|
|
|
bind-key _ split-window -v
|
|
|
|
bind-key | split-window -h
|
|
|
|
|
|
|
|
# resize panes like vim
|
|
|
|
bind-key -r < resize-pane -L 3
|
|
|
|
bind-key -r > resize-pane -R 3
|
|
|
|
bind-key -r + resize-pane -U 1
|
|
|
|
bind-key -r = resize-pane -D 1
|
|
|
|
|
|
|
|
# Statusbar settings
|
|
|
|
|
|
|
|
# use vi-style key bindings in the status line
|
|
|
|
set -g status-keys vi
|
|
|
|
|
|
|
|
# amount of time for which status line messages and other indicators
|
|
|
|
# are displayed. time is in milliseconds.
|
|
|
|
set -g display-time 2000
|
|
|
|
|
|
|
|
# default statusbar colors
|
|
|
|
set-option -g status-utf8 on
|
|
|
|
set-option -g status-fg colour15
|
|
|
|
set-option -g status-bg black
|
|
|
|
|
|
|
|
setw -g window-status-fg colour15
|
|
|
|
setw -g window-status-bg black
|
|
|
|
setw -g window-status-attr none
|
|
|
|
|
|
|
|
setw -g window-status-current-fg black
|
|
|
|
setw -g window-status-current-bg colour15
|
|
|
|
setw -g window-status-current-attr bold
|
|
|
|
setw -g window-status-current-format '(#[fg=red]#I#[default] #W#F)'
|
|
|
|
setw -g window-status-format '(#[fg=yellow]#I#[default] #W#F)'
|
|
|
|
|
|
|
|
set-option -g status-left ' ❐ #[fg=red]#S#[default] ▐'
|
|
|
|
# set-option -g status-right '▐ ♫ #[fg=green]#(~/.DotFiles/bins/current_track )#[default] ▐ ⚡ #[fg=yellow]#(~/.DotFiles/bins/battery )#[default] ▐ ⌚ #[fg=blue]#(date "+%H:%M")#[default] ▐ #[fg=colour200]#(whoami)@#H#[default]'
|
|
|
|
|
|
|
|
set-option -g status-right-length 1000
|
|
|
|
set-option -g status-left-length 60
|
|
|
|
|