-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy path.tmux.conf
99 lines (78 loc) · 2.76 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
# Dracula Colors Reference
# Binding prefix to `control + space`, this is much nicer
# I was actually ok with `control + b` but that interferes
# with Emacs commands on the terminal and the Emacs commands
# I added to nvim in insert mode
unbind C-b
set-option -g prefix C-Space
bind C-Space send-prefix
# Start windows and panes at 1, not 0
set -g base-index 1
setw -g pane-base-index 1
# Renumber windows after a window close
set-option -g renumber-windows on
# This is for escape to work better
set-option -sg escape-time 0
# Have no idea what this does, pleaaase help me!
set-option -g focus-events on
# Something to do with terminal colors
set -g default-terminal "screen-256color"
# Status Bar colors
green="#8aff80"
yellow="#ffff80"
pink="#ff80bf"
purple="#9580ff"
cyan="#80ffea"
orange="#ffca80"
red="#ff9580"
white="#ffffff"
black="#000000"
sync_colour="#{?pane_synchronized,#ff9580,#8aff80}"
set -g status-fg default
set -g status-bg '#31323f'
set -g status-interval 1
# Show sesson name and ~
set -g status-left "#[fg=${pink}] #{session_name} ~ #[fg=default bg=default]"
# Swap out - for , and Z for ﬕ,
set -g window-status-format "#[fg=white]#{?window_flags, #{s/-/#[fg=${yellow}];s/Z/ ﬕ/:window_flags}, } #I #W |#[fg=white bg=default]"
# Swap out * for
set -g window-status-current-format "#[fg=${sync_colour} bg=default] #{?window_flags, #{s|\\*||;s/Z/ﬕ/:window_flags}, } #I #W |#[fg=default bg=default]"
# Show when prefix is active, date and time
set -g status-right "#{?client_prefix,#[bg=default fg=${red}]#[fg=default] Prefix ,}#[fg=${purple}]#[fg=white] %b %d, %Y #[fg=${purple}]#[fg=white] %l:%M %p#[fg=#ffff80]#[fg=white]"
# Dim out any pane that's not active.
set-window-option -g window-style fg=white,bg='#292a35'
set-window-option -g window-active-style fg=white,bg='#292a35'
# Pane Divider
set -g pane-border-style fg='#6272a4'
set -g pane-active-border-style fg='#ff80bf'
# Select the next/previous/last/new window
bind -r C-f next-window
bind -r C-j previous-window
bind C-l last-window
bind n new-window
# Sync panes - send what you're typing to other panes.
bind S setw synchronize-panes
# Reload the tmux config
unbind r
bind r source-file ~/.tmux.conf \; display "tmux conf has been reloaded..."
# Select Panes
unbind h
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
# Update the bindings for splits
# v and h are not bound by default
unbind v
unbind i
unbind % # Split vertically
unbind '"' # Split horizontally
bind v split-window -h -c "#{pane_current_path}"
bind i split-window -v -c "#{pane_current_path}"
# Resize Panes
bind -r < resize-pane -L 3
bind -r > resize-pane -R 3
bind -r + resize-pane -U 3
bind -r - resize-pane -D 3
# Message Text
set -g message-style bg='#ff9580',fg='#000000'