-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtmux.conf
182 lines (139 loc) · 4.14 KB
/
tmux.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
# hdevieux
# .tmux.conf
# This file is managed by dotfiles repository
# Last updated: 4/13/2017
###################
# System Settings #
###################
# Default Terminal to xterm
set -g default-terminal "screen-256color"
# This is needed for automatic plugin installation
set-environment -g TMUX_PLUGIN_MANAGER_PATH '~/.tmux/plugins'
set-option -s escape-time 10
set-option -g repeat-time 275
#####################
# Base Key Bindings #
#####################
# Change prefix to ctrl-Space
unbind C-b
set -g prefix C-Space
bind-key Space send-prefix
# Easy reload tmux config
bind-key r source-file ~/.tmux.conf \; display-message "~/.tmux.conf reloaded"
# Unbind a bunch of defaults
unbind Up
unbind Left
unbind Right
unbind Down
unbind C-Up
unbind C-Left
unbind C-Right
unbind C-Down
unbind M-Up
unbind M-Left
unbind M-Right
unbind M-Down
unbind n
unbind %
unbind &
unbind .
unbind ,
###################
# System Settings #
###################
# Window index
set -g base-index 1
# VI Mode
setw -g mode-keys vi
# Mouse mode on
set -g mouse on
# Dont monitor Activity
setw -g monitor-activity off
# Don't make messages disappear so quickly
set -g display-time 1000
# 12 Hour clock
setw -g clock-mode-style 12
############################
# Pane and Window Settings #
############################
# Closing and opening windows
bind-key x kill-pane
bind-key X kill-window
bind-key / split-window -h
bind-key . split-window -v
bind-key n new-window
bind-key -r Tab next-window
# Resizing panes
bind-key -r H resize-pane -L 5
bind-key -r J resize-pane -D 5
bind-key -r K resize-pane -U 5
bind-key -r L resize-pane -R 5
# Moving between panes
bind-key -r h select-pane -L
bind-key -r j select-pane -D
bind-key -r k select-pane -U
bind-key -r l select-pane -R
# Rename window based on running application
setw -g automatic-rename on
# Renumber windows as they get closed
set -g renumber-windows on
# Set terminal titles
set -g set-titles on
set -g set-titles-string '| #h | #S | #I:#W |'
#################################
# Status and Messaging Settings #
#################################
# Do not message about activity
set -g visual-activity off
set -g visual-bell off
# Status bar settings
set -g status on
set -g status-style none
set -g status-justify centre
# Use UTF-8
# * Disabling. Unsupported in v2.2
# setw -g status-utf8 on
# Update the status bar every 15 seconds
set -g status-interval 15
# Format for window descriptions
setw -g window-status-current-format "|#I: #W|"
setw -g window-status-format "|#I: #W|"
setw -g window-status-separator " "
# Status Bar format
set -g status-right-length 80
set -g status-left-length 120
set -g status-left "#[fg=green]#h #[fg=colour245]| #[fg=red][#S] Window #I/#{session_windows}"
set -g status-right "#{battery_status_fg} #{battery_percentage} #[fg=colour245]| #[fg=red]%m/%d/%Y %l:%M%p #[fg=colour245]| #[fg=brightblue]#(spotify_status_line)"
##################
# Color Settings #
##################
# Status bar
set -g status-style fg=brightred,bg=color234,dim
# Currently selected window
set -g window-status-current-style fg=color032,bg=color234,bright
# Not selected windows
setw -g window-status-style fg=color245,bg=color234,dim
# Do not highlight windows with activity
setw -g window-status-activity-style bg=color234
# Messages in status line
set -g message-style fg=color232,bg=color220,bold
# Window selection menu
setw -g mode-style fg=color032,bg=color234
# Pane border colors
set -g pane-border-style fg=default
set -g pane-active-border-style fg=brightblue,bg=default
##################
# Plugins #
##################
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-resurrect'
set -g @plugin 'tmux-plugins/tmux-battery'
# Change resurrect save dir so these files arent checked into git
set -g @resurrect-dir '~/.tmux_resurrect/'
# Somewhat hack to install plugins
# I prefer to not check them into personal dotfiles
if "test ! -d ~/.tmux/plugins/tpm" \
"run 'git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm'; \
run '~/.tmux/plugins/tpm/bin/install_plugins'"
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
run '~/.tmux/plugins/tpm/tpm'