-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathtmux.conf
123 lines (93 loc) · 3.41 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
# Set prefix from Control + B to Control + S
set -g prefix C-s
bind-key C-s last-window
# Don't suspend-client
unbind-key C-z
# Unbind original prefix
unbind-key C-b
# easy reload config
bind-key r source-file ~/.tmux.conf \; display-message "~/.tmux.conf reloaded."
# improve colors
set -ga terminal-overrides ",*-256color:Tc"
set -g default-terminal "screen-256color"
set-option -g default-shell $SHELL
set-option -g default-command $SHELL
# act like vim
set-window-option -g mode-keys vi
bind-key -T copy-mode-vi "v" send-keys -X begin-selection
bind-key -T copy-mode-vi "y" send-keys -X copy-selection
unbind -T copy-mode-vi MouseDragEnd1Pane
bind-key h select-pane -L
bind-key j select-pane -D
bind-key k select-pane -U
bind-key l select-pane -R
bind-key -r C-h select-window -t :-
bind-key -r C-l select-window -t :+
bind-key | split-window -c "#{pane_current_path}" -h -l 40
bind-key - split-window -c "#{pane_current_path}" -v -l 10
bind-key c new-window -c "#{pane_current_path}"
bind-key -r m resize-pane -Z
# 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
# Activity monitoring
setw -g monitor-activity on
set -g visual-activity on
# Start window numbers at 1 to match keyboard order with tmux window order
set -g base-index 1
set-window-option -g pane-base-index 1
# Rename window to reflect current program
setw -g automatic-rename on
# Renumber windows sequentially after closing any of them
set -g renumber-windows on
# Update status bar every 60 seconds
set -g status-interval 60
# Status line left side
set -g status-left-length 40
# Increase scrollback lines
set -g history-limit 10000
# Justify status bar to center
set -g status-justify right
# Start flavours
# Base16 OneDark
# Scheme author: Lalit Magant (http://github.com/tilal6991)
# Template author: Tinted Theming: (https://github.com/tinted-theming)
# default statusbar colors
set-option -g status-style "fg=#565c64,bg=#1F2228"
# nolan-linux-desktop window:1 pane:1
set -g status-left " #[fg=#abb2bf]#H #[fg=#61afef]window:#[fg=#abb2bf]#I #[fg=#61afef]pane:#[fg=#abb2bf]#P "
# Status line right side
# 15% | 28 Nov 18:15
set -g status-right " #[fg=#98c379]%d %b %R #{wemux status_users}"
# default window title colors
set-window-option -g window-status-style "fg=#565c64,bg=default"
# active window title colors
set-window-option -g window-status-current-style "fg=#e5c07b,bg=default"
# pane border
set-option -g pane-border-style "fg=#1F2228"
set-option -g pane-active-border-style "fg=#3e4451"
# message text
set-option -g message-style "fg=#abb2bf,bg=#353b45"
# pane number display
set-option -g display-panes-active-colour "#98c379"
set-option -g display-panes-colour "#e5c07b"
# Messages are displayed for 4 seconds
set-option -g display-time 4000
# clock
set-window-option -g clock-mode-colour "#98c379"
# copy mode highlight
set-window-option -g mode-style "fg=#e5c07b,bg=#3e4451"
# bell
set-window-option -g window-status-bell-style "fg=#353b45,bg=#e06c75"
# End flavours
# Allow resizing with mouse
set -g mouse on
# Set escape time
set-option -sg escape-time 10
# Set focus events
set-option -g focus-events on
# Local config
if-shell "[ -f ~/.tmux.conf.local ]" 'source ~/.tmux.conf.local'
# Allows passthrough of escape sequences for base16-shell
set -g allow-passthrough on