-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdark.tmux.conf
More file actions
172 lines (132 loc) · 4.63 KB
/
dark.tmux.conf
File metadata and controls
172 lines (132 loc) · 4.63 KB
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
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
set-option -g default-shell /usr/bin/bash
set-option -g allow-passthrough on
set -g default-command fish
# Set colors
set -g default-terminal "xterm-256color"
set-option -a terminal-features 'alacritty:RGB'
set-option -g status-style bg=default
# Start window and pane index at 1 not 0
set -g base-index 1
set -g pane-base-index 1
set-window-option -g pane-base-index 1
set-option -g renumber-windows on
#Automatically set window title
set-window-option -g automatic-rename on
set-option -g set-titles on
# Reset Prefix
set -g prefix C-a
unbind C-b
bind-key C-a send-prefix
# Enable mouse control
set -g mouse on
# clear screen with <prefix> l
bind C-l send-keys 'C-l'
# Set window splitting keys
unbind %
bind ] split-window -h -c "#{pane_current_path}"
unbind '"'
bind - split-window -v -c "#{pane_current_path}"
# Quick sorce file to refresh tmux config
unbind r
bind r source-file ~/.tmux.conf
# Use shift + arrow key to move between windows in a session
bind -n S-Left previous-window
bind -n S-Right next-window
#kill-window
bind z kill-window
#Vim-like navigation
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
# Vim-like navigation in copy mode
set-window-option -g mode-keys vi
bind-key -T copy-mode-vi 'v' send -X begin-selection
bind-key -T copy-mode-vi 'y' send -X copy-selection
# Select with mouse
unbind -T copy-mode-vi MouseDragEnd1Pane
# Resize pane shortcuts
bind -r H resize-pane -L 10
bind -r J resize-pane -D 10
bind -r K resize-pane -U 10
bind -r L resize-pane -R 10
bind -r M resize-pane -Z
# add tpm as a plugin
set -g @plugin 'tmux-plugins/tpm'
#tmux plugins
set -g @plugin 'christoomey/vim-tmux-navigator'
set -g @plugin 'tmux-plugins/tmux-sensible'
set -g @plugin 'tmux-plugins/tmux-resurrect'
set -g @plugin 'tmux-plugins/tmux-continuum'
set -g @plugin 'omerxx/tmux-sessionx'
set -g @sessionx-bind 's'
set -g @sessionx-window-height '85%'
set -g @sessionx-window-width '75%'
set -g @sessionx-filter-current 'false'
unbind C-o
bind C-o rotate-window -D
# Capture pane status
# set -g @resurrect-capture-pane-contents 'on'
set -g @continuum-restore 'on'
set -g @resurrect-strategy-nvim 'session'
set -g @sessionx-x-path '~/dotfiles'
# Length of tmux status line
set -g status-left-length 30
set -g status-right-length 150
set -g @K_LIGHT_BG '#363646'
set -g @WINDOW_INACTIVE '#16161D'
set -g @TMUX_DATE_TIME_BACKGROUND '#303030'
set -g @TMUX_GRAY '#2A2A37'
set -g @TMUX_INACTIVE_FONT '#7C7C7C'
set -g @TMUX_DARK_GRAY '#303030'
set -g @TMUX_TAN '#BEB78D'
set -g @TMUX_STATUS_ACTIVE_WINDOW '#7E9CD8'
set -g @TMUX_DATE_TIME_FONT '#B9B999'
set -g @TMUX_STATUS_PREFIX '#87AF5F'
set -g @online_icon
set -g @offline_icon
set-option -g status "on"
# Default statusbar color
set-option -g status-style bg="#{@TMUX_GRAY}"
# Set active pane border color
set-option -g pane-active-border-style fg="#{@K_LIGHT_BG}"
# Set inactive pane border color
set-option -g pane-border-style fg="#{@TMUX_GRAY}"
# Set pane lines
set-option -g pane-border-lines heavy
set-option -g message-command-style fg="#{@TMUX_TAN}"
set-option -g menu-selected-style fg="#{@TMUX_TAN}"
set-option -g status-left "\
#[fg=#{@TMUX_DARK_GRAY},\
bg=#{@TMUX_STATUS_ACTIVE_WINDOW}]\
#{?client_prefix,#[bg=#{@TMUX_STATUS_PREFIX}],}\
#S \
#[fg=#{@TMUX_STATUS_ACTIVE_WINDOW},\
bg=#{@TMUX_GRAY}]\
#{?client_prefix,#[fg=#{@TMUX_STATUS_PREFIX}],}\
\
#{?window_zoomed_flag, ,}\
"
set-option -g status-right " "
# "\
# #[fg=#{@TMUX_STATUS_ACTIVE_WINDOW}, bg=#{@TMUX_GRAY}] \
# #[fg=#{@WINDOW_INACTIVE}, bg=#{@TMUX_STATUS_ACTIVE_WINDOW}] \
# #[fg=#{@TMUX_STATUS_ACTIVE_WINDOW},bg=#{@WINDOW_INACTIVE},noitalics] #{cpu_percentage} #{online_status} \
# #[fg=#{@TMUX_DATE_TIME_BACKGROUND}, bg=#{@WINDOW_INACTIVE}]\
# #[fg=#{@TMUX_DATE_TIME_FONT}, bg=#{@TMUX_DATE_TIME_BACKGROUND}] %b %d '%y\
# #[fg=#{@TMUX_DATE_TIME_FONT}, bg=#{@TMUX_DATE_TIME_BACKGROUND}] %H:%M \
# "
set-window-option -g window-status-current-format "\
#[fg=#{@TMUX_GRAY}, bg=#{@TMUX_STATUS_ACTIVE_WINDOW}]\
#[fg=#{@TMUX_DARK_GRAY}, bg=#{@TMUX_STATUS_ACTIVE_WINDOW}] #I \
#[fg=#{@TMUX_DARK_GRAY}, bg=#{@TMUX_STATUS_ACTIVE_WINDOW}, bold] #W \
#[fg=#{@TMUX_STATUS_ACTIVE_WINDOW}, bg=#{@TMUX_DARK_GRAY}]"
set-window-option -g window-status-format "\
#[fg=#{@TMUX_DARK_GRAY},bg=#{@WINDOW_INACTIVE},noitalics]\
#[fg=#{@TMUX_INACTIVE_FONT},bg=#{@WINDOW_INACTIVE}] #I \
#[fg=#{@TMUX_INACTIVE_FONT}, bg=#{@WINDOW_INACTIVE}] #W \
#[fg=#{@WINDOW_INACTIVE}, bg=#{@TMUX_DARK_GRAY}]"
# Set the history limit so we get lots of scrollback.
setw -g history-limit 50000
# Initialize TMUX plugin manager (keep this line at the very bottom of .tmux.conf
run '~/.tmux/plugins/tpm/tpm'