-
Notifications
You must be signed in to change notification settings - Fork 0
/
.tmux.conf
160 lines (123 loc) · 3.8 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
#-----------------------------------------------------------------------------#
# CONFIGURATION
#-----------------------------------------------------------------------------#
# default colors configuration
set -g default-terminal "screen-256color"
#set -g default-terminal "xterm-256color"
# https://www.reddit.com/r/vim/comments/75zvux/why_is_vim_background_different_inside_tmux/doamw4o/
set -ag terminal-overrides ',xterm-256color:Tc'
# windows index starts at 1
set -g base-index 1
# make it faster!
set -g escape-time 0
# smallest client terminal contraint is now proper to window, not session
setw -g aggressive-resize on
# display messages for a second
set -g display-time 1000
# disable window notifications
setw -g monitor-activity on
set -g visual-activity off
set -g visual-bell off
# allow tmux to rename tabs
setw -g automatic-rename on
# utf8
# setw -g utf8 on
# allow mouse
# set -g mouse-resize-pane on
# set -g mouse-select-pane on
# set -g mouse-select-window on
# set -g mouse-utf8 on
# set -g mode-mouse on
# set -g mouse-utf8 on
set -g mouse on
# remove default binds
#unbind-key -a
# just to be sure
set -g prefix C-b
# vim key binding
setw -g mode-keys vi
# reload .tmux.conf file
bind r source ~/.tmux.conf
# show helper
bind ? list-keys
#-----------------------------------------------------------------------------#
# WINDOW
#-----------------------------------------------------------------------------#
# detach window
bind d detach
# create new tab
bind t new-window
# quit current tab
bind q killw
# switch between windows
bind 1 select-window -t 1
bind 2 select-window -t 2
bind 3 select-window -t 3
bind 4 select-window -t 4
bind 5 select-window -t 5
bind 6 select-window -t 6
bind 7 select-window -t 7
bind 8 select-window -t 8
bind 9 select-window -t 9
bind 0 select-window -t 10
bind -n M-C-h previous-window
bind -n M-C-l next-window
bind n next-window
#-----------------------------------------------------------------------------#
# PANE
#-----------------------------------------------------------------------------#
#
# pane
#
bind s split-window -v
bind v split-window -h
# switch between pane
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
# resize pane
bind -r C-h resize-pane -L
bind -r C-j resize-pane -D
bind -r C-k resize-pane -U
bind -r C-l resize-pane -R
# pane border color
set-option -g pane-active-border-fg colour38
#-----------------------------------------------------------------------------#
# STATUS BAR
#-----------------------------------------------------------------------------#
# status bar refresh time in second(s) (change it to 1 for dev)
set -g status-interval 60
# default statusbar colors
set -g status-bg colour38
set -g status-fg colour235
set -g status-attr dim
# status bar options
set -g status-justify centre # alignment of windows
setw -g window-status-format ' [#I]#W ' # Inactive windows in status bar
# current or active window in status bar
setw -g window-status-current-bg colour232
setw -g window-status-current-fg colour38
setw -g window-status-current-format ' {#I}#W '
# command/message line colors
set -g message-fg colour15
set -g message-bg colour124
set -g message-attr dim
#
# set status bar (left side)
set -g status-left-length 0
set -g status-left ''
# set status bar (right side)
set -g status-right-length 75
set -g status-right '#(sh ~/.tmux/rmenu.sh)'
# List of plugins
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
# Other examples:
# set -g @plugin 'github_username/plugin_name'
# set -g @plugin 'git@github.com/user/plugin'
# set -g @plugin 'git@bitbucket.com/user/plugin'
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
run '~/.tmux/plugins/tpm/tpm'
# Persistent session
set -g @plugin 'tmux-plugins/tmux-resurrect'