-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathdot_tmux.conf
139 lines (109 loc) · 3.95 KB
/
dot_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
# Start windows and panes at 1, not 0
set -g base-index 1
setw -g pane-base-index 1
# disable window auto-renaming
set-option -g allow-rename off
# automatically renumber windows
set-option -g renumber-windows on
# 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 -n "C-h" if-shell "$is_vim" "send-keys C-h" "select-pane -L"
bind -n "C-j" if-shell "$is_vim" "send-keys C-j" "select-pane -D"
bind -n "C-k" if-shell "$is_vim" "send-keys C-k" "select-pane -U"
bind -n "C-l" if-shell "$is_vim" "send-keys C-l" "select-pane -R"
bind -n "C-\\" if-shell "$is_vim" "send-keys C-\\" "select-pane -l"
# Restore clear screen functionality
bind C-l send-keys 'C-l'
# vim-like copy mode
setw -g mode-keys vi
# use current path for new pane/window
bind '"' split-window -c "#{pane_current_path}"
bind % split-window -h -c "#{pane_current_path}"
bind c new-window -c "#{pane_current_path}"
######################
### DESIGN CHANGES ###
######################
# 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 2
# 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
set -g default-terminal "screen-256color"
# start fish shell if installed
if-shell '[ -n `command -v fish` ]' {
set -g default-command fish
}
# 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] %d/%m #[fg=colour233,bg=colour245,bold] %H:%M:%S '
set -g status-right-length 50
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
# }
# Set low value, so ESC won't be delayed for neovim.
# See: https://github.com/neovim/neovim/wiki/FAQ#esc-in-tmux-or-gnu-screen-is-delayed
set -g escape-time 10