-
Notifications
You must be signed in to change notification settings - Fork 0
/
.tmux.conf
144 lines (115 loc) · 4.95 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
#----- General settings ------#
# don't automatically rename windows
# set allow-rename off
set-window-option -g automatic-rename on
set-option -g set-titles on
# enable mouse mode
set -g mouse on
# set -s escape-time 50
#setw -g mode-mouse on
#set -g mouse-select-window on
# enable focus events
set -g focus-events on
# Improve colors
# make tmux display things in 256 colors on MacOS
#set -g default-terminal "screen-256color"
#set-option -ga terminal-overrides ",*:Tc"
# 256 colors on Linux
# set -g default-terminal "xterm-256color"
set-option -g default-terminal "screen-256color"
set-option -ga terminal-overrides ",xterm-256color:Tc"
# start window numbers from 1
set-option -g base-index 1
set-window-option -g pane-base-index 1
# renumber windows after a change
set-option -g renumber-windows on
# Set scrollback buffer to 10000
set -g history-limit 10000
# List of plugins
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
set -g @plugin 'tmux-plugins/tmux-resurrect'
set -g @plugin 'tmux-plugins/tmux-copycat'
set -g @plugin 'tmux-plugins/tmux-yank'
set -g @plugin 'tmux-plugins/tmux-cpu'
run '~/.tmux/plugins/tpm/tpm'
# Other examples:
# set -g @plugin 'github_username/plugin_name'
# set -g @plugin '[email protected]/user/plugin'
# set -g @plugin '[email protected]/user/plugin'
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
run -b '~/.tmux/plugins/tpm/tpm'
# set Ctrl-a as the default prefix key combination
# and unbind C-b to free it up
set -g prefix C-a
unbind C-b
# use send-prefix to pass C-a through to application
bind C-a send-prefix
bind C-l send-keys 'C-l'
# reload ~/.tmux.conf using PREFIX r
bind r source-file ~/.tmux.conf \; display-message "Tmux Config reloaded..."
bind k confirm kill-window
bind K confirm kill-server
# map Vi movement keys as pane movement keys
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
# use PREFIX | to split window horizontally and PREFIX - to split vertically
bind \\ split-window -h -c "#{pane_current_path}"
bind - split-window -v -c "#{pane_current_path}"
# resize panes using PREFIX H, J, K, L
bind H resize-pane -L 5
bind J resize-pane -D 5
bind K resize-pane -U 5
bind L resize-pane -R 5
#----- Theme settings ------#
set -g status-interval 5 # set update frequencey (default 15 seconds)
set -g status-justify left # center window list for clarity
set -g status-bg "#3c3836"
set -g status-fg colour4
# status left
#set -g status-left "#[fg=#282828, bg=#a89984, bold] #S #[fg=#a89984, bg=#3c3836, nobold, nounderscore, noitalics]"
#setw -g window-status-current-format "|#I:#W|"
set -g status-left ''
# status right
set -g status-right-length "200"
#set -g status-right '#(get-current-spotify-song) | #(battery -t) | %H:%M %m-%d-%y'
#set -g status-right "#[fg=#504945,bg=#3c3836,nobold,nounderscore,noitalics]#[fg=#a89984,bg=#504945] %Y-%m-%d %H:%M #[fg=#a8998;,bg=#504945,nobold,nounderscore,noitalics]"
#set -g status-right '♪ #(exec amixer get Master | egrep -o "[0-9]+%" | egrep -o "[0-9]*") | ♥#(acpi | cut -d ',' -f 2) | %a %m-%d %H:%M'
set -g status-right 'CPU: #{cpu_percentage} | %a %h-%d %H:%M '
# window
#setw -g window-status-format "#[fg=#a89984,bg=#3c3836] #I #[fg=#a89984,bg=#3c3836] #W "
setw -g mode-style bg=colour6,fg=colour0
# active window
set -g window-status-current-style bg=colour3,fg=colour0
set -g window-status-bell-style bg=colour1,fg=colour0
set -g window-status-current-format "#{?window_zoomed_flag,#[bg=colour4],} #W #{?window_zoomed_flag,#[bg=colour4],}"
#setw -g window-status-current-format "#[fg=#3c3836,bg=#fabd2f,nobold,nounderscore,noitalics]#[fg=#282828,bg=#fabd2f] #I #[fg=#282828,bg=#fabd2f] #W #[fg=#fabd2f,bg=#3c3836,nobold,nounderscore,noitalics]"
# panes
set -g pane-border-style fg=colour236
set -g pane-active-border-style fg=colour236,bg=default
# command bar
set -g message-command-style fg="#a89984",bg="#3c3836"
set -g message-style fg="#a89984",bg="#3c3836"
# copy on tmux to clipboard
# bind -t vi-copy y copy-pipe "xclip -sel clip -i"
bind -T copy-mode-vi y send-keys -X copy-pipe-and-cancel 'xclip -in -selection clipboard'
bind-key -T copy-mode-vi v send-keys -X begin-selection
bind-key -T copy-mode-vi y send-keys -X copy-selection
bind-key -T copy-mode-vi r send-keys -X rectangle-toggle
# bind-key p save-buffer ~/.tmux-buffer \; run-shell "xsel -i -b <~/.tmux-buffer && rm ~/.tmux-buffer"
#bind P paste-buffer
#bind-key -t vi-copy 'v' begin-selection
#bind-key -t vi-copy 'y' copy-selection
#bind-key -t vi-copy 'r' rectangle-toggle
# Shortcut always used
# Ctrl+a c Create a new window (with shell)
# Ctrl+a w Choose window from a list
# Ctrl+a 0 Switch to window 0 (by number )
# Ctrl+a , Rename the current window
# Ctrl+a % Split current pane horizontally into two panes
# Ctrl+a " Split current pane vertically into two panes
# Ctrl+a o Go to the next pane
# Ctrl+a ; Toggle between the current and previous pane
# Ctrl+a x Close the current pane