-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdot_tmux.conf
More file actions
183 lines (131 loc) · 4.77 KB
/
dot_tmux.conf
File metadata and controls
183 lines (131 loc) · 4.77 KB
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
183
### GENERAL CONFIG ###
# Prefix
unbind C-b
set -g prefix C-Space
bind Space send-prefix
# Quick config reload
bind-key r source-file ~/.tmux.conf \; display-message "tmux.conf reloaded."
# Set ability to capture on start and restore on exit window data when
# running an application
setw -g alternate-screen on
# Scrolling
set -g terminal-overrides 'xterm*:smcup@:rmcup@'
# Cursor shape
set -ga terminal-overrides '*:Ss=\E[%p1%d q:Se=\E[ q'
# Ensure colors are set properly
set-option -sa terminal-overrides ',rxvt-unicode-256color:RGB' # urxvt
set-option -sa terminal-overrides ',xterm-256color:RGB' # terminator
# Set window title
set-option -g set-titles on
set-option -g set-titles-string "#S: #{pane_current_command}"
# Mouse Mode
set -g mouse on
# Don't set the clipboard via escape sequence
set-option -s set-clipboard off
### GENERAL KEY BINDINGS ###
# Clock mode (default binding "t" gets overridden via tmux-sessionist plugin)
bind T clock-mode
# Move back and forward
bind -r 'C-p' previous-window
bind -r 'C-n' next-window
# Split windows
bind 'c' new-window -c '#{pane_current_path}'
# send-keys -X copy-pipe-and-cancel "xclip -selection clipboard"
bind -T copy-mode Enter send-keys -X copy-pipe-and-cancel "xclip -selection clipboard"
bind -T copy-mode-vi Enter send-keys -X copy-pipe-and-cancel "xclip -selection clipboard"
bind ']' run "tmux set-buffer \"$(xclip -o -sel clipboard)\"; tmux paste-buffer"
### TWEAK UI ###
# Derived from
# http://www.hamvocke.com/blog/a-guide-to-customizing-your-tmux-conf/
# Start window numbering at 1 for easier switching
set -g base-index 1
setw -g pane-base-index 1
# Re-enumerate windows on close
set-option -g renumber-windows on
# Re-name windows, based on current program
setw -g automatic-rename on
# Panes
set -g pane-border-style fg=black
set -g pane-active-border-style fg=brightred
## Status bar design
# Status line
set -g status-justify left
set -g status-bg default
set -g status-fg colour12
set -g status-interval 1
# Messaging
set -g message-style fg=black
set -g message-style bg=yellow
set -g message-command-style fg=blue
set -g message-command-style bg=black
# Window mode
setw -g mode-style bg=colour6
setw -g mode-style fg=colour0
# Window status
setw -g window-status-format " #F#I:#W#F "
setw -g window-status-current-format " #F#I:#W#F "
setw -g window-status-format "#[fg=magenta]#[bg=black] #I #[bg=cyan]#[fg=colour8] #W "
setw -g window-status-current-format "#[bg=brightmagenta]#[fg=colour8] #I #[fg=colour8]#[bg=colour14] #W "
setw -g window-status-current-style bg=colour0
setw -g window-status-current-style fg=colour11
setw -g window-status-current-style dim
setw -g window-status-style bg=green
setw -g window-status-style fg=black
setw -g window-status-style reverse
# Info on left (I don't have a session display for now)
set -g status-left ''
# Loud or quiet?
set-option -g visual-activity off
set-option -g visual-bell off
set-option -g visual-silence off
set-window-option -g monitor-activity off
set-option -g bell-action none
# The modes
setw -g clock-mode-colour colour135
setw -g mode-style bold
setw -g mode-style fg=colour196
setw -g mode-style bg=colour238
# The panes
set -g pane-border-style bg=colour235
set -g pane-border-style fg=colour238
set -g pane-active-border-style bg=colour236
set -g pane-active-border-style fg=colour51
# The statusbar
set -g status-position bottom
set -g status-bg colour234
set -g status-fg colour137
set -g status-style dim
set -g status-left ''
set -g status-right '#[fg=colour233,bg=colour241,bold] %Y-%m-%d #[fg=colour233,bg=colour245,bold] %H:%M:%S '
set -g status-right-length 100
set -g status-left-length 20
setw -g window-status-current-style fg=colour81
setw -g window-status-current-style bg=colour238
setw -g window-status-current-style bold
setw -g window-status-current-format ' #I#[fg=colour250]:#[fg=colour255]#W#[fg=colour50]#F '
setw -g window-status-style fg=colour138
setw -g window-status-style bg=colour235
setw -g window-status-style none
setw -g window-status-format ' #I#[fg=colour237]:#[fg=colour250]#W#[fg=colour244]#F '
setw -g window-status-bell-style bold
setw -g window-status-bell-style fg=colour255
setw -g window-status-bell-style bg=colour1
# The messages
set -g message-style bold
set -g message-style fg=colour232
set -g message-style bg=colour166
### TMUX PLUGINS ###
# List of plugins
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-copycat'
set -g @plugin 'tmux-plugins/tmux-open'
set -g @plugin 'tmux-plugins/tmux-pain-control'
set -g @plugin 'tmux-plugins/tmux-sensible'
set -g @plugin 'tmux-plugins/tmux-sessionist'
set -g @plugin 'tmux-plugins/tmux-yank'
set -g @plugin 'tmux-plugins/vim-tmux-focus-events'
### TMUX PLUGINS ###
## tmux-yank
set -g @yank_selection 'clipboard'
### INIT PLUGIN MANAGER ###
run '~/.tmux/plugins/tpm/tpm'