-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.tmux.conf
120 lines (84 loc) · 3.55 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
################################################################################
#### Keybindings
# Use ` instead of C-b as prefix key
unbind-key C-b
set-option -g prefix `
bind-key ` send-prefix
# Swap adjacent windows
bind-key < swap-window -t -1 \; previous-window
bind-key > swap-window -t +1 \; next-window
################################################################################
#### Miscellaneous
# Set terminal
set-option -g default-terminal 'tmux-256color'
# Enable true color support in tmux
set-option -ga terminal-overrides ',*256col*:Tc'
# Use the default terminal shell
set-option -g default-shell $SHELL
# Prevent tmux from waiting half a second before processing the ESC key
set-option -s escape-time 0
# Pass focus events into tmux
set-option -g focus-events on
# Start window indices at 1 instead of 0
set-option -g base-index 1
# Display indicators until a key is pressed
set-option -g display-time 0
# Set a history limit that seems reasonable
set-option -g history-limit 10000
# Enable mouse support
set-option -g mouse on
# Automatically renumber windows when a window is deleted
set-option -g renumber-windows on
# Refresh the status bar every second instead of every 15 seconds
set-option -g status-interval 1
# Use emacs-style keybindings by default
set-option -g status-keys emacs
set-window-option -g mode-keys emacs
# Monitor activity in other windows
set-window-option -g monitor-activity on
# Monitor bells in other windows
set-window-option -g monitor-bell on
# Start pane indices at 1 instead of 0
set-window-option -g pane-base-index 1
# Don't constrain multiple clients on the same window to the same window size
set-window-option -g aggressive-resize on
################################################################################
#### Status Bar
# Set status bar style
set-option -g status-style fg=default,bg=black
# Set message bar style
set-option -g message-style fg=default,bg=black
# Set left status bar format
set-option -g status-left '#{?client_prefix,#[fg=white#,bold],} #S'
set-option -ga status-left '#[fg=default,bold] » #[default]'
# Expand length of the right status bar to make everything fit
set-option -g status-right-length 70
# Set right status bar format
set-option -g status-right '%m/%d/%Y'
set-option -ga status-right '#[fg=default,bold] « #[default]'
set-option -ga status-right '%a %H:%M '
# Set window status format
set-option -g window-status-current-format '#{window_index}#{window_flags} #{window_name}'
set-option -g window-status-format '#{window_index}#{window_flags} #{window_name}'
set-option -g window-status-separator '#[fg=default,bold] » #[default]'
# Set window status styles
set-window-option -g window-status-current-style fg=blue
set-window-option -g window-status-last-style fg=green
set-window-option -g window-status-activity-style fg=red,dim
set-window-option -g window-status-bell-style fg=yellow
################################################################################
#### Plugins
# Additional mouse configuration
set-option -g @plugin 'NHDaly/tmux-better-mouse-mode'
# Continuously save tmux environment
set-option -g @plugin 'tmux-plugins/tmux-continuum'
# Restore tmux environment after system restarts
set-option -g @plugin 'tmux-plugins/tmux-resurrect'
# Enable copying to system clipboard
set-option -g @plugin 'tmux-plugins/tmux-yank'
# Tmux plugin manager
set-option -g @plugin 'tmux-plugins/tpm'
# Plugin options
set-option -g @emulate-scroll-for-no-mouse-alternate-buffer 'on'
# Initialize tmux plugin manager (must be last line of .tmux.conf)
run-shell '~/.tmux/plugins/tpm/tpm'