-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtmux.conf
132 lines (106 loc) · 3.59 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
# improve colors
set -g default-terminal 'screen-256color'
# Ctrl-a prefix
unbind C-b
set -g prefix C-a
bind C-a send-prefix
# Vim keybindings
set -g mode-keys vi
# Vim-like copy/paste
unbind [
bind Escape copy-mode
unbind p
bind p paste-buffer
# split panes using | and - (in current directory)
bind c new-window -c '#{pane_current_path}'
bind | split-window -h -c '#{pane_current_path}'
bind _ split-window -v -c '#{pane_current_path}'
unbind '"'
unbind %
# reload the .tmux.conf file with Ctrl-r
bind C-r source-file ~/.tmux.conf \; display-message "configuration reloaded"
# Smart pane switching with awareness of Vim splits.
# See: https://github.com/christoomey/vim-tmux-navigator
is_vim="ps -o state= -o comm= -t '#{pane_tty}' \
| grep -iqE '^[^TXZ ]+ +(\\S+\\/)?g?(view|n?vim?x?)(diff)?$'"
bind-key -n C-h if-shell "$is_vim" "send-keys C-h" "select-pane -L"
bind-key -n C-j if-shell "$is_vim" "send-keys C-j" "select-pane -D"
bind-key -n C-k if-shell "$is_vim" "send-keys C-k" "select-pane -U"
bind-key -n C-l if-shell "$is_vim" "send-keys C-l" "select-pane -R"
bind-key -n C-\ if-shell "$is_vim" "send-keys C-\\" "select-pane -l"
# easy resizing of panes
bind -r J resize-pane -D 5
bind -r K resize-pane -U 5
bind -r H resize-pane -L 5
bind -r L resize-pane -R 5
# Display pane numbers for longer
set -g display-panes-time 2000
# start window numbers at 1 to match keyboard order with tmux order
set -g base-index 1
# start pane numbers at 1 to match keyboard order with tmux order
setw -g pane-base-index 1
# renumber windows sequentially after closing any of them
set -g renumber-windows on
######################
### DESIGN CHANGES ###
######################
# panes
set -g pane-border-fg black
set -g pane-active-border-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 2
# messaging
set -g message-fg black
set -g message-bg yellow
set -g message-command-fg blue
set -g message-command-bg black
# window mode
setw -g mode-bg colour6
setw -g mode-fg colour0
# 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
set -g default-terminal "screen-256color"
# The modes {
setw -g clock-mode-colour colour135
setw -g mode-attr bold
setw -g mode-fg colour196
setw -g mode-bg colour238
# The panes
set -g pane-border-bg colour235
set -g pane-border-fg colour238
set -g pane-active-border-bg colour236
set -g pane-active-border-fg colour51
# The statusbar
set -g status-position bottom
set -g status-bg colour234
set -g status-fg colour2
set -g status-attr dim
set -g status-left '#[bold]#S '
set -g status-right '#[fg=colour4]#(whoami)#[fg=colour255]@#[fg=colour3]#h #[fg=colour233,bg=colour241,bold] %h %d #[fg=colour233,bg=colour245,bold] %I:%M %p '
set -g status-right-length 50
set -g status-left-length 20
setw -g window-status-current-fg colour4
setw -g window-status-current-bg colour238
setw -g window-status-current-attr bold
setw -g window-status-current-format ' #I#[fg=colour250]:#[fg=colour255]#W#[fg=colour4]#F '
setw -g window-status-fg colour250
setw -g window-status-bg colour235
setw -g window-status-attr none
setw -g window-status-format ' #I#[fg=colour245]:#[fg=colour250]#W#[fg=colour245]#F '
setw -g window-status-bell-attr bold
setw -g window-status-bell-fg colour255
setw -g window-status-bell-bg colour1
# The messages
set -g message-attr bold
set -g message-fg colour232
set -g message-bg colour2
# Local config
if-shell "[ -f ~/.tmux_local.conf ]" 'source ~/.tmux_local.conf'