]> Tony Duckles's Git Repositories (git.nynim.org) - dotfiles.git/blob - .tmux.conf
.bashrc: Add python pip --user path after finalizing $PATH
[dotfiles.git] / .tmux.conf
1 # -------------------------------------------------------------------
2 # Settings
3 # -------------------------------------------------------------------
4 set -g history-limit 15000 # increase scrollback lines
5 set -g default-command 'bash' # no login shell
6 set -g renumber-windows on # renumber windows sequentially after closing any of them
7 setw -g monitor-activity on # monitor for activity in windows
8 set -g visual-activity on # display status line message for windows with activity (monitor-activity)
9 set -g aggressive-resize on # smart window resizing when multiple attached clients
10 set -sg escape-time 50 # shorter Esc/Alt disambiguation timeout
11 set -sg default-term 'screen-256color' # 256-color terminal
12 set -ga terminal-overrides ",*256col*:Tc" # Add 24-bit truecolor support (tmux info | grep Tc)
13
14 # -------------------------------------------------------------------
15 # Look and Feel
16 # -------------------------------------------------------------------
17 # status bar
18 set -g status-style none
19 set -g status-left-style none
20 set -g status-left-length 40
21 set -g status-left ''
22 set -g status-right-style none
23 set -g status-right-length 150
24 set -g status-right '#[bg=black,fg=brightblue] #(whoami)@#H #[fg=default]/#[fg=brightblue] #S '
25 # window status
26 set -g window-status-format ' #I:#W#F '
27 set -g window-status-current-format ' #I:#W#F '
28 set -g window-status-style 'fg=colour244'
29 set -g window-status-separator ''
30 set -g window-status-current-style 'bg=brightblack,fg=brightwhite,bold'
31 set -g window-status-activity-style 'bg=black,fg=brightblue'
32 # pane border
33 set -g pane-border-style 'fg=brightblack'
34 set -g pane-active-border-style 'fg=green'
35 # pane number indicator
36 set -g display-panes-colour white
37 set -g display-panes-active-colour brightyellow
38 # clock mode
39 set -g clock-mode-colour white
40 # messages
41 set -g message-style 'bg=blue,fg=brightwhite'
42 set -g message-command-style 'bg=green,fg=brightwhite'
43 set -g mode-style 'bg=blue,fg=brightwhite'
44
45 # -------------------------------------------------------------------
46 # Key Bindings
47 # -------------------------------------------------------------------
48 # act like GNU screen
49 unbind C-b
50 set -g prefix C-a
51 bind-key a send-prefix
52 bind-key A command-prompt "rename-window %%"
53 bind-key C-a last-window
54 bind-key C new-window -n 'sh' -c "#{pane_current_path}" # new window starting at $PWD
55 bind-key c new-window -n 'sh' # new window w/ default title
56 bind-key C-c new-window -n 'sh' # (same as C-a c)
57 bind-key C-d detach # (same as C-a d)
58 bind-key C-n next-window # (same as C-a n)
59 bind-key C-p previous-window # (same as C-a p)
60 bind-key Escape copy-mode
61 unbind-key Space
62
63 # vim style movement
64 setw -g mode-keys vi
65 bind-key h select-pane -L
66 bind-key j select-pane -D
67 bind-key k select-pane -U
68 bind-key l select-pane -R
69 bind-key J swap-pane -D
70 bind-key K swap-pane -U
71
72 # vim style window splitting
73 bind-key 's' split-window -v -c "#{pane_current_path}"
74 bind-key 'v' split-window -h -c "#{pane_current_path}"
75
76 # Shift+0-9 to select screens 10-19
77 bind-key ')' select-window -t :10
78 bind-key '!' select-window -t :11
79 bind-key '@' select-window -t :12
80 bind-key '#' select-window -t :13
81 bind-key '$' select-window -t :14
82 bind-key '%' select-window -t :15
83 bind-key '^' select-window -t :16
84 bind-key '&' select-window -t :17
85 bind-key '*' select-window -t :18
86 bind-key '(' select-window -t :19
87
88 bind-key R source-file ~/.tmux.conf \; display-message "Reloaded!"
89 bind-key C-o select-pane -t :.+ # (same as C-a o)
90 bind-key m setw monitor-activity # toggle monitor-activity