-
Notifications
You must be signed in to change notification settings - Fork 0
/
.tmux.conf
150 lines (110 loc) · 4.79 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
# set default shell
set-option -g default-command /opt/homebrew/bin/zsh
set-option -g default-shell /opt/homebrew/bin/zsh
# Enable RGB colour if running in xterm(1)
set-option -g default-terminal "tmux-256color"
set -ga terminal-overrides ",*256col*:Tc"
# enable vi-mode
############################################################
# KEY BINDINGS
############################################################
# Modifier Keys
set -s extended-keys on
set -as terminal-features 'xterm*:extkeys'
# Use C-a instead of C-b
unbind-key C-b
set -g prefix C-a
# vi mode
set -g mode-keys vi
bind-key C-a last-window
############################################################
# CUSTOMIZE STATUS BAR
############################################################
set -g status on
set -g status-interval 1
set -g status-justify left
# set -g status-keys vi
set -g status-position top # [top, bottom]
set -g status-style fg=colour136,bg=colour235
# Left status
set -g status-left ""
set -g status-left-length 80
set -g status-left-style default
# Display the session name
set -g status-left "#[fg=green] #S #[default]"
# Right status
set -g status-right ""
set -g status-right-length 80
set -g status-right-style default
# Display the date
set -ag status-right "#[fg=white,bg=default] 🗓 %a %d #[default]"
# Display the time
set -ag status-right "#[fg=colour172,bright,bg=default] 🕚 %l:%M %p #[default]"
# Display computer name
set -ag status-right "💻 #[fg=cyan,bg=default] #H #[default]"
set -g window-status-style fg=colour244,bg=default
set -g window-status-format ' #I #W '
set -g window-status-current-style fg=black,bg=colour136
set -g window-status-current-format ' #I #W '
############################################################
# TokyoNight colors for Tmux
############################################################
set -g mode-style "fg=#7aa2f7,bg=#3b4261"
set -g message-style "fg=#7aa2f7,bg=#3b4261"
set -g message-command-style "fg=#7aa2f7,bg=#3b4261"
set -g pane-border-style "fg=#3b4261"
set -g pane-active-border-style "fg=#7aa2f7"
set -g status "on"
set -g status-justify "left"
set -g status-style "fg=#7aa2f7,bg=#1f2335"
set -g status-left-length "100"
set -g status-right-length "100"
set -g status-left-style NONE
set -g status-right-style NONE
set -g status-left "#[fg=#1d202f,bg=#7aa2f7,bold] #S #[fg=#7aa2f7,bg=#1f2335,nobold,nounderscore,noitalics]"
set -g status-right "#[fg=#1f2335,bg=#1f2335,nobold,nounderscore,noitalics]#[fg=#7aa2f7,bg=#1f2335] #{prefix_highlight} #[fg=#3b4261,bg=#1f2335,nobold,nounderscore,noitalics]#[fg=#7aa2f7,bg=#3b4261] %Y-%m-%d %I:%M %p #[fg=#7aa2f7,bg=#3b4261,nobold,nounderscore,noitalics]#[fg=#1d202f,bg=#7aa2f7,bold] #h "
setw -g window-status-activity-style "underscore,fg=#a9b1d6,bg=#1f2335"
setw -g window-status-separator ""
setw -g window-status-style "NONE,fg=#a9b1d6,bg=#1f2335"
setw -g window-status-format "#[fg=#1f2335,bg=#1f2335,nobold,nounderscore,noitalics]#[default] #I #W #F #[fg=#1f2335,bg=#1f2335,nobold,nounderscore,noitalics]"
setw -g window-status-current-format "#[fg=#1f2335,bg=#3b4261,nobold,nounderscore,noitalics]#[fg=#7aa2f7,bg=#3b4261,bold] #I #W #F #[fg=#3b4261,bg=#1f2335,nobold,nounderscore,noitalics]"
# tmux-plugins/tmux-prefix-highlight support
set -g @prefix_highlight_output_prefix "#[fg=#e0af68]#[bg=#1f2335]#[fg=#1f2335]#[bg=#e0af68]"
set -g @prefix_highlight_output_suffix ""
############################################################
# MISC
############################################################
# Undercurl
set -as terminal-overrides ',*:Smulx=\E[4::%p1%dm' # undercurl support
set -as terminal-overrides ',*:Setulc=\E[58::2::%p1%{65536}%/%d::%p1%{256}%/%{255}%&%d::%p1%{255}%&%d%;m' # underscore colours - needs tmux-3.0
set-window-option -g xterm-keys on
## enable activity alerts
setw -g monitor-activity on
set -g visual-activity on
# Set mouse mode on
set -g mouse on
# Larger scroll back
set-option -g history-limit 100000
# 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-option -g default-command "reattach-to-user-namespace -l zsh"
# Local config
if-shell "[ -f ~/.tmux-local.conf ]" 'source ~/.tmux-local.conf'
############################################################
# PLUGINS
############################################################
# Supports `github_username/repo` or full git repo URLs
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
set -g @plugin 'tmux-plugins/tmux-resurrect'
# Other examples:
# github_username/plugin_name \
# git@github.com/user/plugin \
# git@bitbucket.com/user/plugin \
# Initializes TMUX plugin manager.
# Keep this line at the very bottom of tmux.conf.
run '~/.tmux/plugins/tpm/tpm'