-
Notifications
You must be signed in to change notification settings - Fork 0
/
.tmux.conf
131 lines (106 loc) · 4.73 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
#status bar
set-option -g status-utf8 on
set -g status-interval 1
set -g status-justify centre # center align window list
set -g status-left-length 20
set -g status-right-length 140
set -g status-left '#[fg=green]#H #[fg=black]• #[fg=green,bright]#(uname -r | cut -c 1-6)#[default]'
set -g status-right '#[fg=green,bg=black,bright]#(tmux-mem-cpu-load 1) #[fg=red,dim]#(uptime | cut -f 4-5 -d " " | cut -f 1 -d ",") #[fg=white]%a %l:%M:%S %p#[default] #[fg=blue]%m-%d-%Y'
# default statusbar colors
set -g status-fg white
set -g status-bg default
set -g status-attr bright
# default window title colors
set-window-option -g window-status-fg white
set-window-option -g window-status-bg default
set-window-option -g window-status-attr dim
# active window title colors
set-window-option -g window-status-current-fg white
set-window-option -g window-status-current-bg default
set-window-option -g window-status-current-attr bright
# C-b is not acceptable -- Vim uses it
set-option -g prefix C-a
bind-key C-a last-window
# Start numbering at 1
set -g base-index 1
# Allows for faster key repetition
set -s escape-time 0
# Rather than constraining window size to the maximum size of any client
# connected to the *session*, constrain window size to the maximum size of any
# client connected to *that window*. Much more reasonable.
setw -g aggressive-resize on
# Allows us to use C-a a <command> to send commands to a TMUX session inside
# another TMUX session
bind-key a send-prefix
# Activity monitoring
setw -g monitor-activity on
set -g visual-activity on
# Highlight active window
set-window-option -g window-status-current-bg red
# Vi copypaste mode
set-window-option -g mode-keys vi
bind-key -t vi-copy 'v' begin-selection
bind-key -t vi-copy 'y' copy-selection
# hjkl pane traversal
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
bind Tab select-pane -R
# reload config
bind r source-file ~/.tmux.conf \; display-message "Config reloaded..."
#list sessions, because I overwrite with movement
bind L list-sessions
# auto window rename
set-window-option -g automatic-rename
# rm mouse mode fail
set -g mode-mouse off
#set -g mode-mouse on
set -g mouse-resize-pane off
set -g mouse-select-window off
set -g mouse-select-pane off
# color
set -g default-terminal "screen-256color"
# splitting
bind | split-window -h
bind _ split-window -v
# pane movement
bind-key g command-prompt -p "get pane from:" "join-pane -s '%%'"
bind-key s command-prompt -p "send pane to:" "join-pane -t '%%'"
# solarize colors
# --- colors (solarized dark)
# default statusbar colors
set -g status-bg black
set -g status-fg yellow
set -g status-attr default
#
## default window title colors
setw -g window-status-fg brightblue
setw -g window-status-bg default
#
## active window title colors
setw -g window-status-current-fg yellow
setw -g window-status-current-bg default
setw -g window-status-current-attr dim
#
## pane border
set -g pane-border-fg black
set -g pane-border-bg default
set -g pane-active-border-fg yellow
set -g pane-active-border-bg default
#
## command line/message text
set -g message-bg black
set -g message-fg yellow
#
## pane number display
set -g display-panes-active-colour yellow
set -g display-panes-colour brightblue
#
## clock
setw -g clock-mode-colour yellow
## --- end colors
# force screen-256 color
set -g default-terminal "screen-256color"
set -g history-limit 10000
set-option -g default-shell $SHELL